Publié dans PHP, 1 commentaire
Dropbox est un logiciel qui synchronise vos fichiers, en ligne et sur votre ordinateur. Pour parler simplement, c’est l’un des meilleurs logiciel de synchronisation de fichiers en ligne que je connaisse. En plus il est disponible pour linux (et accessoirement un .deb existe pour ubuntu sur le site officiel : dropbox.com) Je ne vais pas ici vous venter les mérites de DropBox, d’autre l’on déjà fait avant moi. Je veux vous parler de My PHP DropBox Gallery qui permet de générer très facilement une galerie photos à partir de votre DropBox.
A noter que My PHP DropBox Gallery est distribué librement. Pensez à faire un don au gentil développeur si vous aimez cette galerie
Télécharger la dernière version ici : http://2boandco.com
Publié dans Linux, 2 commentaires
Suite à une installation fraiche de Ubuntu Karmic, j’en profite pour vous faire partager mon script pour Conky.
Premièrement vous devez installer Conky :
sudo apt-get install conky
Ensuite pour avoir mon conky, téléchargez le pack de fichiers que je vous ai préparé : conky-pokemonjojo.tar.gz
Décompressez conky-pokemonjojo.tar.gz dans votre /home.
Pour que conky se lance automatiquement au démarrage, allez dans « Système > Préférences > Applications au démarrage » cliquez sur « Ajouter », puis indiquez les informations suivantes :
Nom : Conky
Commande : sh -c "sleep 10 && conky"
La commande sh -c « sleep 10 && conky » permet de lancer conky 10s après le démarrage pour éviter des conflits avec compiz ou metacity (chez moi il disparaissait après le lancement).
Si vous souhaitez configurez plus amplement votre conky, je vous recommande les liens suivants :
Publié dans Linux, ajouter un commentaire
Voici 4 nouveaux thèmes GDM basés sur les œuvres « Somatic Rebirth » de David Lanham.
Utilisables pour toutes les résolutions de 640×480 à 1600×1200. Ils peuvent aussi être utilisés pour les écrans « Wide ».
The Somatic Rebirth images have been used with permission from David Lanham – http://www.dlanham.com
License: Free for Personal Use
Only for personal, desktop use. All copyrights remain the property of their respective holders.
NB : Les thèmes GDM sont tous les mêmes, seul l’arrière plan change.
Publié dans PHP, 8 commentaires
Voici une fonction pour enlever tous les caractères spéciaux et accents d’une chaîne de caractères en respectant l’encodage. (fonctionne pour l’UTF8). Les caractères sont remplacés par leur plus proche correspondance ASCII (sans accent)
/** * Remplace les caractères spéciaux par leur plus proche * correspondance ASCII (sans accent) * * @info http://www.mibhouse.org/pokemon_jojo * * @param string $str * @param string $encoding * * @return string $str */ function strtoascii($str, $encoding = 'utf-8') { mb_regex_encoding($encoding); // jeu de caractères courant pour les expressions rationnelles. // Tableau des corespondance $str_ascii = array( 'A' => 'ÀÁÂÃÄÅĀĂǍẠẢẤẦẨẪẬẮẰẲẴẶǺĄ', 'a' => 'àáâãäåāăǎạảấầẩẫậắằẳẵặǻą', 'C' => 'ÇĆĈĊČ', 'c' => 'çćĉċč', 'D' => 'ÐĎĐ', 'd' => 'ďđ', 'E' => 'ÈÉÊËĒĔĖĘĚẸẺẼẾỀỂỄỆ', 'e' => 'èéêëēĕėęěẹẻẽếềểễệ', 'G' => 'ĜĞĠĢ', 'g' => 'ĝğġģ', 'H' => 'ĤĦ', 'h' => 'ĥħ', 'I' => 'ÌÍÎÏĨĪĬĮİǏỈỊ', 'J' => 'Ĵ', 'j' => 'ĵ', 'K' => 'Ķ', 'k' => 'ķ', 'L' => 'ĹĻĽĿŁ', 'l' => 'ĺļľŀł', 'N' => 'ÑŃŅŇ', 'n' => 'ñńņňʼn', 'O' => 'ÒÓÔÕÖØŌŎŐƠǑǾỌỎỐỒỔỖỘỚỜỞỠỢ', 'o' => 'òóôõöøōŏőơǒǿọỏốồổỗộớờởỡợð', 'R' => 'ŔŖŘ', 'r' => 'ŕŗř', 'S' => 'ŚŜŞŠ', 's' => 'śŝşš', 'T' => 'ŢŤŦ', 't' => 'ţťŧ', 'U' => 'ÙÚÛÜŨŪŬŮŰŲƯǓǕǗǙǛỤỦỨỪỬỮỰ', 'u' => 'ùúûüũūŭůűųưǔǖǘǚǜụủứừửữự', 'W' => 'ŴẀẂẄ', 'w' => 'ŵẁẃẅ', 'Y' => 'ÝŶŸỲỸỶỴ', 'y' => 'ýÿŷỹỵỷỳ', 'Z' => 'ŹŻŽ', 'z' => 'źżž', // Ligatures 'AE' => 'Æ', 'ae' => 'æ', 'OE' => 'Œ', 'oe' => 'œ' ); // Convertion foreach ($str_ascii as $k => $v) { $str = mb_ereg_replace('['.$v.']', $k, $str); } return $str; }
J’ai essayé de regrouper tous les caractères spéciaux que je connaissais. Si il en manque, n’hésitez pas à me le signaler.
Publié dans PHP, 12 commentaires
Ayant besoin de définir des accès spécifiques à un back office en fonction du navigateur client utilisé (ex. pour ne pas autoriser IE). Ne voulant pas utiliser get_browser() (qui nécessite browscap.ini). J’ai créé une fonction PHP qui vous permet de détecter le navigateur utilisé, la version et le système d’exploitation d’un internaute en utilisant la variable $_SERVER['HTTP_USER_AGENT'].
/** * Permet de détecté le navigateur client utilisé * * @info http://www.mibhouse.org/pokemon_jojo/ * * @param string $return Valeur de retour demandée * * @return string|array */ function get_browser_agent($return = false) { global $browser_agent; if($return) $return = strtolower($return); // Navigateurs connu if($return && $return == 'browsers') { return array( 'firefox' => 'browser', 'shiretoko' => 'browser', // nom de code de firefox 3.5 dev 'msie' => 'browser', 'opera' => 'browser', 'chrome' => 'browser', 'safari' => 'browser', 'mozilla' => 'browser', 'seamonkey' => 'browser', 'konqueror' => 'browser', 'netscape' => 'browser', 'gecko' => 'browser', 'navigator' => 'browser', 'mosaic' => 'browser', 'lynx' => 'browser', 'amaya' => 'browser', 'omniweb' => 'browser', 'avant' => 'browser', 'camino' => 'browser', 'flock' => 'browser', 'aol' => 'browser', 'googlebot' => 'spider', 'msnbot' => 'spider', 'yahoo' => 'spider', 'ask' => 'spider', 'itunes' => 'other', ); } // Plateforme connue else if($return && $return == 'platforms') { return array( 'android' => array('android'), 'freebsd' => array('freebsd'), 'linux' => array('linux'), 'iphone' => array('iphone'), 'zune' => array('zune'), 'mac' => array('macintosh', 'mac platform x', 'mac os x'), 'win' => array('windows', 'win32'), ); } if(!isset($browser_agent)) { $browser_agent = array( 'name' => false, 'version' => 0, 'platform' => false, 'userAgent' => $_SERVER['HTTP_USER_AGENT'] ); // Navigateur + Version foreach(get_browser_agent('browsers') as $browser => $type) { if (preg_match("#($browser)[/ ]?([0-9.]*)#", strtolower($browser_agent['userAgent']), $match)) { $browser_agent['name'] = $match[1]; // Hack safari if($browser_agent['name'] == 'safari' && preg_match("#version[/ ]?([0-9.]*)#", strtolower($browser_agent['userAgent']), $match)) { $browser_agent['version'] = $match[1]; } else $browser_agent['version'] = $match[2]; if($type == 'spider') $browser_agent['platform'] = $type; break; } } // OS if(!$browser_agent['platform']) { foreach(get_browser_agent('platforms') as $platform => $values) { if(!$browser_agent['platform']) { foreach($values as $value) { if (strpos(strtolower($browser_agent['userAgent']), $value)) { $browser_agent['platform'] = $platform; break; } } } else break; } } } if($return && isset($browser_agent[$return])) return $browser_agent[$return]; else if(!$return) return $browser_agent; else return false; }
<?php $browser = get_browser_agent(); print_r($browser); ?>
L’exemple ci-dessus va afficher quelque chose de similaire à :
Array
(
[name] => opera
[version] => 9.64
[platform] => linux
[userAgent] => Opera/9.64 (X11; Linux i686; U; fr) Presto/2.1.1
)<?php $browser_name = get_browser_agent('name'); print_r($browser_name); ?>
L’exemple ci-dessus va afficher quelque chose de similaire à :
opera
Il peut être utile de connaitre le navigateur utilisé et sa version pour par exemple autorisé l’accès à une application web uniquement aux navigateurs compatibles.
<?php // Detection du navigateur $browser = get_browser_agent(); // Navigateurs autorisés (avec la version minimum requise) $browser_allowed = array( 'shiretoko' => '3.5', 'firefox' => '3.0', 'opera' => '9.0', ); // Le navigateur est t'il autorisé? if(array_key_exists($browser['name'], $browser_allowed) && version_compare($browser['version'], $browser_allowed[$browser['name']], '>=')) $autorized = true; else $autorized = false; print_r($browser); if($autorized) echo 'Votre navigateur est compatible. Vous êtes autorisé à accéder à l\'application.'; else echo 'Votre navigateur n\'est pas compatible. Vous n\'êtes pas autorisé à accéder à l\'application.'; ?>
L’exemple ci-dessus va afficher quelque chose de similaire à :
Array
(
[name] => opera
[version] => 9.64
[platform] => linux
[userAgent] => Opera/9.64 (X11; Linux i686; U; fr) Presto/2.1.1
)
Votre navigateur est compatible. Vous êtes autorisé à accéder à l'application.Vous êtes bien entendu autorisé à utiliser cette fonction dans vos propres scripts. Si tel est le cas, n’hésitez pas à me laisser un petit message, ça fait toujours plaisir
. Évidemment vos commentaires, suggestions et améliorations sont toujours les bienvenues.
© Copyright 2010 Pokemon_JOJO