Blog - Gratuit)
Typeface sépare inutilement lorsqu'il rencontre un caractère spécial (Unicode) - IE
Nous utilisons régulièrement Typeface pour appliquer une police particulière à du texte sur le web.
Nous avons rencontré un bug: l'engin de regex séparait le mot "français" à "franç" et "ais". La séparation se faisait lorsque l'engin rencontre un caractère accentué ou UTF8 - Unicode.
L'apparence était parfaite dans plusieurs navigateurs, mais dans Internet Explorer, un espace était inséré car le script créait deux balises distinctes et consécutives.
Il y a une solution ! Il suffit de changer la ligne #289 du fichier typeface.js à ceci:
var words = text.split(/\b(?=\X)/);
Et l'affaire est ketchup !
Credits: http://twitter.com/tousdan
Logiciel de "versionning" de fichiers et dossiers
Trop souvent, on modifie ou on écrase (ou même supprime) un fichier en travaillant. Surtout lorsque le fichier est situé sur un lecteur partagé par plusieurs utilisateurs et que, ô misère, deux personnes l'éditent simultanément.
J'ai donc cherché et essayé plusieurs solutions à ce problème.
Il y a Subversion (SVN), mais cela nécessite une infrastructure particulière, et pour l'instant et de la manière qu'on travaille chez http://Sparko.ca, ce n'est pas tellement adapté.
Nous avons arrêté notre choix sur AutoVer, une petite application gratuite sous Windows développée par un australien. (http://beanland.net.au/AutoVer/)
Le programme s'installe facilement. On peut paramétrer autant de dossiers qu'on veut, filtrer ce qui va être surveillé, et décider quoi faire des versions plus vieilles. On peut également comparer les changements faits entre chaque version.
Dans notre cas, j'ai programmé les paramètres pour surveiller tous nos dossiers de projets (situé sur un lecteur réseau) et les fichiers à l'intérieur. La sauvegarde des versions de fichiers et dossiers se fait sur un autre lecteur externe.
À toutes les fois qu'un utilisateur appuie sur "sauvegarder" de n'importe quel programme (Notepad++, Photoshop, Office...), une version du fichier avant sauvegarde est enregistrée sur l'autre lecteur au même chemin. Ainsi, le fichier
E:\projets\projet1\html\salut.phpse sauvegarde sous
F:\projets\projet1\html\salut.php.JJMMAAAAHHMMSS.php
Ainsi donc, lorsque un individu (i.e. Joël) supprime par erreur un fichier, on peut le restaurer aussitôt!
Image Email script, la solution au spam!
Voici un truc très simple pour ne pas recevoir de spam dans votre boîte courriel lorsque vous affichez votre courriel sur un site web avec une haute popularité.
Créé une page email.php contenant ce code:
// Configuration des variables
$emails[1] = "info@domaine.com";
$emails[2] = "test@domaine.com";
//$emails[n] = "nimportequoi@domaine.com";
$pathToFont = "fonts/arial.ttf"; //Fichier police système
// Variables par défaut
$maxWidth = 150;
$maxHeight = 16;
$paddding = 12;
$size = 10;
$background = "ffffff";
$color = "000000";
$emailAddress = "courriel@domaine.com";
// Réception des variables
$maxWidth = (isset($_GET['width'])) ? (integer)$_GET['width']:$maxWidth;
$maxHeight = (isset($_GET['height'])) ? (integer)$_GET['height']:$maxHeight;
$paddding = (isset($_GET['padding'])) ? (integer)$_GET['padding']:$paddding;
$size = (isset($_GET['size'])) ? (integer)$_GET['size']:$size;
$background = (isset($_GET['background'])) ? ($_GET['background']):($background);
$color = (isset($_GET['color'])) ? ($_GET['color']):($color);
$emailAddress = (isset($emails[$_GET['email']])) ? ($emails[$_GET['email']]):$emailAddress;
// Fonction convertisseur
function hexToRGB($hex) {
$hex = str_replace("#", "", $hex);
$color = array();
if(strlen($hex) == 3) {
$color['r'] = hexdec(substr($hex, 0, 1) . $r);
$color['g'] = hexdec(substr($hex, 1, 1) . $g);
$color['b'] = hexdec(substr($hex, 2, 1) . $b);
}
else if(strlen($hex) == 6) {
$color['r'] = hexdec(substr($hex, 0, 2));
$color['g'] = hexdec(substr($hex, 2, 2));
$color['b'] = hexdec(substr($hex, 4, 2));
}
return $color;
}
// Création d'une image
$im = imagecreatetruecolor($maxWidth, $maxHeight);
$rgb = hexToRGB($background);
$backgroundColor = imagecolorallocate($im, $rgb["r"], $rgb["g"], $rgb["b"]);
$rgb = hexToRGB($color);
$fontColor = imagecolorallocate($im, $rgb["r"], $rgb["g"], $rgb["b"]);
// Ajoute la couleur en fond
imagefilledrectangle($im, 0, 0, $maxWidth-1, $maxHeight-1, $backgroundColor);
imagecolortransparent($im, $backgroundColor);
// Configuration de la taille
$coord = imagettfbbox ( $size ,0 , $pathToFont , "($emailAddress)" );
if($coord[2] > $maxWidth) $size = 9;
// Création de l'image email
imagettftext ( $im, $size , 0 , 0 , $paddding , $fontColor, $pathToFont , $emailAddress );
// Affiche l'image sur le navigateur
header('Content-type: image/gif');
imagegif($im);
imagedestroy($im);
Ensuite, il suffit d'apeller dynamiquement cette page et de lui passé les paramètre voulu pour afficher un courriel en image.
On l'utilise comme suit:
email.php?email=1&color=F0F0F0&background=000000&width=220&height=16&padding=12
Les variables sont:
email: La référence au courriel que l'on veut afficher (déclaré dans le script)
color: La couleur de la police
background: Couleur du fond
width: largeur de l'image
height: hauteur de l'image
padding: espacement à l'intérieur de l'image
Voici à quoi sa ressemble au final:
NOTE: La librarie GD2 doit être "enabled" dans votre configuration de PHP.
Erreur Apache HTTPD: NoCase option for non-regex pattern is not supported and will be ignored.
Une erreur Apache est venue poluer les logs d'un de nos serveurs. On (les programmeurs en général) a souvent tendance à ajouter la balise [NC] dans nos fichiers .htaccess pour ne pas tenir compte de la casse en utilisant RewriteCond.
L'erreur déclenchée est alors:
[warn] RewriteCond: NoCase option for non-regex pattern '-f' is not supported and will be ignored. [warn] RewriteCond: NoCase option for non-regex pattern '-d' is not supported and will be ignored.
Alors plutôt que d'utiliser ceci dans le .htaccess
RewriteCond %{REQUEST_FILENAME} !-f [NC,OR]
RewriteCond %{REQUEST_FILENAME} !-d [NC]
il faudrait plutôt utiliser:
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} !-d
Une autre solution, bien meilleure celle-là est d'utiliser
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule "." - [skip=100]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule "." - [skip=100]
Catégories
Tous les articles, Commerce en ligne, Design, Gratuit, Interne, Marketing web, Mobile, Site quétaine du jour, Web,
Tags
quétaine, Sparko, Montréal, htaccess, java, la presse, marketing, rewriteCond, site quétaine, accents, accesnotaire.com, affaires, Agence de développement web, amazon, apache, apple, archambault, autoVer, back-up, backup,

0