Développement Web
Sharding : Partitionner vos données les rend plus rapides d’accès
by Rom's on 27 jan 2010, under Développement Web
Le principe est simple : pour une montée linéaire du nombre de requêtes sur une table, le temps de réponse monte exponentiellement…
A partir de ce simple constat, vous avez compris qu’il est préférable de partitionner vos données soit en faisant plusieurs bases de données, soit en faisant plusieurs tables.
Tous les poids lourds des données utilisent cette méthode : le sharding.
Après cette petite introduction, voici quelques liens :
http://decrypt.ysance.com/2009/05/sharding-partitionnement-optimisation-acces-aux-donnees/
http://www.codefutures.com/database-sharding/
http://highscalability.com/unorthodox-approach-database-design-coming-shard
http://www.pythian.com/news/500/database-sharding-and-the-end-of-raid/
Streaming PHP, lire une vidéo à la volée
by Rom's on 03 nov 2009, under Développement Web
Philflash propose un outil permettant de lire une vidéo en streaming via une application PHP réalisée par Jeroen Wijering et proposé sous licence Creative Commons License (20€ pour usage commercial).
Dernière mise à jour en mai 2008 : http://www.inwayvideo.com/phpflvplayer/src/PHPStreamingSource135.zip
http://www.inwayvideo.com/phpflvplayer/index.html
Tout est paramétrable comme le montre l’exemple :
<head>
<script type=”text/javascript” src=”swfobject.js”></script>
<script type=”text/javascript”>
var attributes = {};var params = {};
// for fullscreen
params.allowfullscreen = “true”;var flashvars = {};
// the video file or the playlist file
flashvars.file = “myvideo.flv”;// the PHP script (1.5 is a recommended value for PHP Streaming for bufferlength)
flashvars.streamscript = “flvprovider.php”;
flashvars.bufferlength = “1.5″;// width and height of the player (h is height of the video + 20 for controlbar)
// required for IE7
flashvars.width = “320″;
flashvars.height = “260″;
// width and height of the video
flashvars.displaywidth = “320″;
flashvars.displayheight = “240″;
flashvars.autostart = “true”;
flashvars.showdigits = “true”;// for fullscreen
flashvars.showfsbutton = “true”;// 9 for Flash Player 9 (for ON2 Codec and FullScreen)
swfobject.embedSWF(”phpsflvplayer.swf”, “flashcontent”, “320″, “260″, “9.0.0″, “playerProductInstall.swf”, flashvars, params, attributes);
</script>
</head>
<body>
<div id=”flashcontent”>
</div>
…
</body>
Temps Unix en base MySQL
by Rom's on 30 oct 2009, under Développement Web
Fonction de MySQL injustement ignorée, FROM_UNIXTIME nous permet d’insérer en base un temps UNIX, et permet une sortie de date au format souhaité :
Source : http://dev.mysql.com/doc/refman/5.0/fr/date-and-time-functions.html
FROM_UNIXTIME(unix_timestamp)
Retourne une représentation de l’argument unix_timestamp sous la forme ‘YYYY-MM-DD HH:MM:SS’ ou YYYYMMDDHHMMSS, suivant si la fonction est utilisé dans un contexte numérique ou de chaîne.
mysql> SELECT FROM_UNIXTIME(875996580);
-> ‘1997-10-04 22:23:00′
mysql> SELECT FROM_UNIXTIME(875996580) + 0;
-> 19971004222300Si format est donné, le résultat est formaté en fonction de la chaîne format. format peut contenir les mêmes options de format que celles utilisées par DATE_FORMAT() :
mysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(),
-> ‘%Y %D %M %h:%i:%s %x’);
-> ‘2003 6th August 06:22:58 2003′
PHP - Suppression des accents en UTF-8
by Rom's on 19 oct 2009, under Développement Web
Si vous voulez remplacer les accents par les lettres équivalentes sans accents, le tout dans un fichier encodé en UTF-8, voici la méthode qu’il faut utiliser.
Explication : l’encodage UTF-8 implique pour chaque caractère parfois plusieurs octets. La fonction strtr regardant la longueur de la chaîne pour dire que telle lettre de la ligne $a correspond à telle lettre de la ligne $b, et “a” étant plus léger que “à” en UTF-8, il convient de passer en ISO le temps de cette transformation pour que les positions correspondent bien.
$a = ‘àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ’;
$b = ‘aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY’;$chaine = utf8_encode(strtr(utf8_decode($chaine), utf8_decode($a), utf8_decode($b)));
Tester un JavaScript sur tous les navigateurs
by Rom's on 26 mai 2009, under Développement Web
Tout est là : http://googletesting.blogspot.com/2009/05/yet-another-javascript-testing.html
Un outil qui teste vos JS sur tous les navigateurs, magnifique
Tableau en Jquery : Tri et Pagination grâce à ce plug-in
by Rom's on 21 avr 2009, under Développement Web

A voir, un plug-in Jquery permettant un tri et une pagination dynamique. Je trouve ça énorme.
A diffuser !
Le lien : http://www.sprymedia.co.uk/dataTables-1.4/media/js/jquery.dataTables.js
Doc & démo : http://www.sprymedia.co.uk/dataTables-1.4/example_zero_config.html
La source : http://www.dator.fr/une-datagrid-avec-jquery-gerant-le-trie-et-la-pagination/
Tester un site sur tous les navigateurs
by Rom's on 03 avr 2009, under Développement Web
A tester : CrossBrowserTesting.com
CrossBrowserTesting.com propose une approche différente en offrant la possibilité de tester ses sites non seulement sur tous les navigateurs du marché, y compris les plus confidentiels ou les versions les plus récentes comme IE8, mais également sur toutes les versions de tous les systèmes d’exploitation, Windows (incluant Windows 7), Mac OS et Linux, le tout quelque soit votre machine, et sans rien installer à part une machine virtuelle Java, normalement déjà présente sur votre PC.
(source : presse-citron.net)
Interfaces Utilisateurs - JQuery UI ou MochaUI
by Rom's on 27 mar 2009, under Développement Web
http://jqueryui.com/themeroller/
http://mochaui.com/demo/
MochaUI vous propose une interface toute prête, adaptable, flexible, qui vous permet rapidement de mettre en place un canevas ergonomique pour tout back-office (par exemple).
JQueryUI vous donne tous les éléments d’interface sous forme modulaire, et vous laisse créer la présentation vous-mêmes.
Comparer les différences de rendu - SuperPreview
by Rom's on 26 mar 2009, under Développement Web, Logiciels
Microsoft vient de sortir un outil à suivre : SuperPreview
Il permet pour l’instant de comparer les différences de rendus entre les différentes version d’Internet Explorer mais déclare ajouter bientôt les navigateurs concurrents.
Limites vues par Raphaël d’Alsacreations :
Microsoft a déjà fait part de certaines limitations :
• Les filtres et transitions ne sont pas disponibles sur le moteur IE6, ce qui ne permet pas de traiter les PNG transparents avec DXImageTransform.
• Les éléments positionnés via fixed peuvent ne pas être affichés correctement.
• Les tags object, embed et applet peuvent ne pas être affichés avec les bonnes dimensions si IE8 n’est pas installé.
• Les pages vues avec le moteur d’IE6 et utilisant JavaScript pour modifier leur contenu pourraient… ne pas s’afficher comme dans l’IE6 original, car le script sera interprété comme il le serait dans IE7 ou IE8.
Ajoutons à cela que les fonctionnalités sont tout de même très en-deçà de celles proposées par Firebug et ses équivalents pour Safari et Chrome - dans l’état actuel du développement. Télécharger 250 Mo si les comportements ne sont pas garantis comme dans les versions authentiques, cela reste discutable. La licence de cette beta expirera le 1er octobre 2009.
(source : http://www.alsacreations.com/actu/lire/685-microsoft-expression-web-superpreview.html
A suivre donc
Jcrop - Outil de découpe d’image / JQuery
by Rom's on 19 fév 2009, under Développement Web
Encore un outil basé sur JQuery, encore un
JCrop, outil qui permet de recadrer / retailler une image en Javascript, c’est-t-y pas énorme ?
Il fonctionne sur FF3/GG Chrome / IE6+ / Opera 9.5 et Safari 3
Les exemples sont là : http://deepliquid.com/content/Jcrop_Examples.html
Le téléchargement est là : http://deepliquid.com/content/Jcrop_Download.html
Voir aussi ImgAreaSelect : http://odyniec.net/projects/imgareaselect/