Tag: php
Recherchons développeur PHP5 / Paris
by Rom's on 02 déc 2010, under Développement Web
Petite annonce emploi
On recherche un développeur / chef de projet PHP5 ayant de l’expérience dans le développement MVC (Zend Framework / Symfony).
Secteur de l’automobile : être passionné est un plus ![]()
Projets : site e-commerce, gestion de flux de données, historisation, webservices, extranet, interfaces innovantes.
Rémunération attractive (28-35K€) suivant profil, poste sur Paris
Contactez-moi, je transmets : mail@romain.biz
Itinéraire et Distance via HTTP (PHP par ex) : l’API de Google Maps a évolué !
by Rom's on 20 mai 2010, under Architecture, Développement Web, DSI
L’exemple en PHP est ici : PHP : distance en kilomètres, durée et étapes du trajet grâce à Google Maps API Directions
Il était amusant de voir que cette fonctionnalité était possible mais qu’elle était juste refusée au niveau de la requête par Google : si vous lisiez via le navigateur le flux JSON, vous y voyiez des informations intéressantes telles que la distance et l’itinéraire pour aller d’un point A à un point B, qu’on aurait tout à fait pu parser. Mais Google le refusait.
Cette annonce n’a l’air de rien : http://googlegeodevelopers.blogspot.com/2010/05/directions-web-service-arrives-at.html mais c’est une révolution pour ceux qui souhaitent intégrer des calculs de distance, ou faire des PDF avec des itinéraires ou ce genre de choses.
Concrètement, le flux que vous recevez ressemble à ceci :
{
« status »: « OK »,
« routes »: [ {
« summary »: « Massachusetts Ave, Massachusetts 2A W et Lexington Rd »,
« legs »: [ {
« steps »: [ {
« travel_mode »: « DRIVING »,
« start_location »: {
« lat »: 42.3585300,
« lng »: -71.0600700
},
« end_location »: {
« lat »: 42.3580200,
« lng »: -71.0604300
},
« polyline »: {
« points »: « ycpaGl|upLdBfA »,
« levels »: « BB »
},
« duration »: {
« value »: 4,
« text »: « 1 minute »
},
(…)
Source : https://mail.google.com/mail/?hl=fr&shva=1#inbox/128b3a8d28ec3fd6
Autres API qui viennent de sortir : http://www.zorgloob.com/2010-05/google-fait-le-plein-dapi/
Le script PHP permettant de calculer l’itinéraire est ici : PHP : distance en kilomètres, durée et étapes du trajet grâce à Google Maps API Directions
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>
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)));
PHP – SOLAR, un framework pour PHP5
by Rom's on 12 jan 2009, under Développement Web
SOLAR (http://solarphp.org/) est un nouveau framework sorti en V1.0 en 2007. Je n’ai pas eu l’occasion de le tester encore mais il serait rapide et plus intelligent que des mastodontes tels que Zend ou Symfony (pas de réécriture Objet quand il n’y en a pas besoin).
Il exploite au mieux les capacités de PHP5 en utilisant les fonctionnalités lorsqu’elles existent en en ne réinventant pas systématiquement la roue.
Il fonctionne avec le moteur de template Savant (http://phpsavant.com/) qui fonctionne avec le langage PHP directement (au lieu de réinterpréter un langage de template spécifique).
Son créateur, Paul M Jones (blog), est un ancien de Zend, qui a néanmoins préféré développer une autre approche du framework de son côté.
Plus d’informations sur le site officiel de Solar : http://solarphp.org/
IDE PHP/AJAX : Aptana
by Rom's on 18 déc 2008, under Développement Web
Petite description from Framasoft :
Aptana est un IDE (Environnement de développement intégré), pour créer des sites web dynamiques. Si vous préférez, c’est un GROS éditeur de texte plutôt complet… Il vous facilitera donc la vie de codeur HTML, Javascript, AJAX, CSS, PHP ou ruby…
Basé sur Eclipse, Aptana possède énormément de fonctionnalités : gestion de script, auto-complétion (HTML, JS(AJAX), PHP, CSS, ruby), coloration personnalisable, FTP, Gestion de projet, synchronisation local/serveur, analyseur syntaxique, ainsi qu’une documentation très complète en anglais.
Le site officiel d’Aptana : http://www.aptana.com/
Aptana est sous licence APL, il n’est donc pas possible de redistribuer le produit.
Logiciel pour comparer les versions (merging)
by Rom's on 11 déc 2008, under Logiciels
Beyond Compare est un logiciel à 30$ et qui les vaut bien.
Imaginez : comparez un dossier en local et un dossier FTP, il vous montre quels sont les fichiers qui existent d’un côté et pas de l’autre, quels sont les fichiers qui ont le même nom mais un contenu différent. Vous doublez-cliquez alors et il vous ouvre les deux fichiers en parallèle.
Vous pouvez alors aisément voir les modifications et choisir de rapatrier les modifications dans un sens ou dans l’autre jusqu’à obtenir la version souhaitée.
A découvrir absoluement
Eclipse PHP avec CVS – Concurrent Versions System
by Rom's on 07 juin 2008, under Développement Web
Eclipse, vous connaissez, le meilleur éditeur pour PHP.. ajoutez-y un module spécifique pour PHP et la gestion du CVS (Concurrent Versions System, pour travail en équipe, gestion des historiques de modifications et versionning).
Tout est là, téléchargeable gratuitement à cette adresse http://www.zend.com/en/community/pdt#all
La doc pour configurer le CVS sur Eclipse :
1. http://www-igm.univ-mlv.fr/~dr/XPOSE2003/cvs-eclipse/ECW.pdf
2. http://java.developpez.com/faq/eclipse/?page=gestionDeVersion
3. et surtout http://wiki.eclipse.org/index.php/CVS_FAQ
Installer un serveur CVS :
1. http://www.supinfo-projects.com/fr/2003/installation_cvs_win/
2. http://www.devguy.com/fp/cfgmgmt/cvs/cvs_admin_nt.htm
Distance de Levenshtein – le moyen pour faire un correcteur orthographique
by Rom's on 17 avr 2008, under Développement Web
Connaissez-vous la distance de Levenshtein ? Elle permet de calculer la différence entre deux mots en nombre de lettres à changer pour aller de l’un à l’autre.
Ex. :
* Distance de levenshtein entre « hélicoptaire » et « hélicoptère » : 2
* Distance de levenshtein entre « hélicotpère » et « hélicoptère » : 2
Vous l’avez compris par l’exemple, cela peut permettre de faire entre autres un correcteur orthographique. Il s’agit pour ce faire de constituer une base de mots clés que l’on parcoure et que l’on compare à un terme. Si la distance de levenshtein est inférieure ou égale à 2, on peut en déduire qu’il s’agit d’un mot relativement proche au niveau de l’orthographe. Au delà, ça devient plus fouillis.
En PHP, une fonction existe : levenshtein(). Les deux paramètres à remplir sont pour les deux mots à comparer et la fonction retourne la distance (int).
Requête POST en PHP
by Rom's on 07 jan 2008, under Développement Web
function httpPostRequest($host, $path, $arrPostvars, $port=80, $referer="")
{
$arrEncodedPairs = array();
$res = "";
foreach ($arrPostvars as $var => $value)
$arrEncodedPairs[] = rawurlencode($var)."=".rawurlencode($value);
$postData = implode("&", $arrEncodedPairs);
$request = "POST $path HTTP/1.1\n".
"Host: $host\n".
(($referer) ? "Referer: $referer\n" : "").
"Content-type: application/x-www-form-urlencoded\n".
"Content-length: ".strlen($postData)."\n".
"Connection: close\n\n".
$postData."\n";
if ($fp = fsockopen($host, $port)) { if (fputs($fp, $request)) { while(! feof($fp)) { $res .=gets($fp, 128); } fclose($fp); return $res; } }
}
Appel à la fonction :
$contenuPage=httpPostRequest("www.lesite.com", "/repertoire/adresseScript.php", Array("clé"=>"valeur","clé2"=>"valeur2"));