Nouvel arrivant chez Gaboweb: une peinture de Patrice Murciano ! Comme toute équipe Geek qui se respecte … on est fan ! Merci pour Comme Une Image pour cette magnifique toile Yoda par Patrice Murciano et pour l’encadrement sur mesure en bois.
Développement et hébergement du site : https://www.le-bon-coach.fr/fr/ Le bon coach est un moteur de recherche qui permet de trouver le ou la coach qu’il vous faut en France. Un moteur de recherche vous permet de trouver les types de coachs que vous souhaitez, si vous chercher par exemple un coach sportif près de chez vous. Un […]
Les circuits de Kart toutes catégories ont maintenant leur annuaire ! Mise en ligne du site internet Kart-Center en 12 langues regroupant tous les circuits de Karting du monde. Les circuits de Kart mis en avant Chaque Circuit a la possibilité de modifier sa « fiche circuit » afin d’améliorer sa visibilité. Fonctionnalités pour les circuits de […]
Création de la boutique Comme une Image, Gallerie d’art et encadrement sur mesure à Paris ainsi que dans les centres commerciaux Domus (93) et Aéroville (95).
Nous travaillons actuellement avec l’annuaire des avocats : www.mon-avocat.fr, site qui permet de rechercher des avocats par localisation et spécialisation:
L’Agence Beauté Gaboweb est le partenaire digital des sociétés de beauté, cosmétiques et bien être. Nous vous proposons les solutions web adaptées à votre image et à vos valeurs.
Voici un script d’installation automatique de wordpress, avec création d’un ftp et d’une base de données. Définissez : $MYSQL_USER $MYSQL_PASSWORD Dépéndance : apg display_usage() { echo « This script must be run with super-user privileges. » echo « You have to choose a username » echo « \nUsage:\n$0 [USERNAME] \n » } if [ $# -le 0 ] then display_usage exit […]
Un petit mémo pour une chose que je cherchais à faire depuis pas mal de temps. Un virtualhost apache qui déclare certaines variables d’environnement de manière automatique en fonction d’une url normalisée. Quand vous faites des sites internet internationaux avec environnement de dev, preprod et prod, il est souvent utile d’avoir des urls à rallonge […]
Petit mémo: Création d’un thumbnails JPG à partir d’un FLV, si l’image crée est d’une seule couleur, recréation d’une autre image à +5 secondes. On teste la première minute jusqu’à obtenir une image avec plusieurs couleurs. Utilisation de ffmpeg, ImageMagick (convert) !/bin/bash seek=0; while : do ffmpeg -i $1 -r 1 -ss 00:00:$seek -an $1.jpg […]
Petits tests avec L’API Youtube, l’idée étant via une interface unique de publier une vidéo sur Youtube tout en gardant l’option de la télécharger. Les classes Zend Zend_Gdata_YouTube et Zend_Gdata_ClientLogin sont utilisées. Voir la demo
Ce batch bash renomme fichiers et répertoires dont le nom ne match pas avec [^A-Za-z0-9\.()\/], les caractères non voulus sont remplacés par -. for i in `find . -exec ls -i « {} » \; | grep -v ‘/’ | cut -d » » -f1 | grep -v ‘.:’` do clean=`find . -inum « $i » | sed -e »s/[^A-Za-z0-9\.()\/]/-/g »` […]
Petit mémo perso pour la gestion des sauvegardes de site en tar.gz # repertoire contenant le site www.monsite.com/ # repertoire de sauvegarde save/ A mettre dans le crontab: # on sauvegarde le repertoire www.monsite.com dans le repertoire save. tar -cvzf save/www.monsite.com -`date ‘+%d-%B-%Y–%H_%M_%I’`.tar.gz ../www.monsite.com/ # on efface les sauvegarde de plus de 6 heures. find […]
Petit memo pour sélectionner facilement une langue avec apache pour les Urls du type: www.domain.com/fr/page.html www.domain.com/en/page.html www.domain.com/de/page.html Voici la conf apache: RewriteEngine On SetEnvIf Request_URI « ^/(..)/.*$ » lang=$1 En php, la langue se trouve dans : $_SERVER[‘lang’]
Petit memo perso pour ajouter ou supprimer une ligne en bash avec sed. Insertion de StringToInsert à la position n de file sed -i ‘ni StringToInsert’ file Exemple: Ajouter Hello World à la deuxième ligne de file : sed -i ‘2i Hello World’ file Effacer la ligne n sed -i ‘nd’ file Exemple: Effacer la […]
La W3C n’accepte pas que les pages utilisent l’attribut target= »_blank » sur un lien. Pourquoi ? Parce qu’il pense que le choix d’ouvrir ou non une nouvelle fenêtre appartient à l’internaute et non au créateur de la page. C’est bien le respect de l’internaute, mais parfois pour des raisons marketing ou autres, on veut absolument qu’un […]
Petit mémo: fonctions pour couper des textes et des phrases sans couper les mots avec preg_replace Deux utilisation différentes: La première fonction resumeString coupe un texte au plus près de la longueur maximale demandée. La deuxième fonction resumeSentence coupe un texte au plus près mais en respectant une césure, soit un caractère ‘,’ ou ‘;’ […]
L’hébergement mutualisé… c’est assez frustrant quand on fait de l’hébergement de devoir intervenir sur une machine mutualisée avec pour seul levier de modification un .htaccess et un accès ftp ; mais bon, il faut bien faire avec parfois. Alors voici un fichier .htaccess à glisser à la racine (document_root) de votre hébergement mutualisé qui permet […]
Petite mésaventure qui arrive forcement quand on fait de l’hébergement de site (hosting) un disque d’un de mes serveurs est mort. Pas de problèmes me direz vous, le serveur était en raid soft. Mon prestataire change donc le disque mort mais … il me faut maintenant remplir ce nouveau disque avec les données du serveur […]
En référencement naturel et positionnement, il coûte très cher de faire apparaître un site en première page des résultats pour un mot clé seulement. Ça tombe plutôt bien parce que de plus en plus d’internautes saisissent un mot clé pour chercher le nom du site et de plus en plus d’internautes précisent leurs recherches naturelles. […]
Petit mémo pour aller chercher l’entête d’une page (headers) et seulement l’entête. Expression régulière pour le code HTTP de la page, puis détéction de la nouvelle url si code 301. $url = « http://maboite.org/ »; $ch = curl_init($url); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_NOBODY, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_USERAGENT, ‘MyUserAgent’); curl_setopt($ch, CURLOPT_TIMEOUT, 5); $headers = curl_exec($ch); $CurlErr […]
Petit update de la fonction urlize postée précédemment. function urlize($string){ $find = array( ‘/[^A-Za-z0-9ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ]/’ #alphanum + accents ,’/[-]+/’ # multi – ,’/(^-)/’ # – as begin ,’/(-$)/’ # – as end ); $repl = array(‘-‘,’-‘, », »); return preg_replace($find, $repl, $string); }
Pour ceux qui comme moi ont opté pour WordPress (pauvres de nous …), voici quelques requêtes utiles pour afficher les derniers commentaires, les derniers posts ou les commentaires les plus commentés. Bizarrement, les seuls plugins trouvés (2) ne fonctionnent pas (vive wordpress…). Les posts les plus commentés: select p.id, p.post_title,count(c.comment_ID) as cnt from wp_posts p, […]
Quand je vous disais que les claviers mécaniques permettent de taper plus vite: Avec clavier mécanique (Das keyboard 3): 51 words You reached 335 points, so you achieved position 14128 of 141327 on the ranking list You type 420 characters per minute You have 51 correct words and you have 1 wrong words Avec clavier […]
Si dans vos interfaces d’administration (backoffice) vous installez des textarea WYSIWYG type Tinymce, Htmlarea, FCEditor vous avez déjà sans doute remarqué qu’il n’était pas toujours facile de garder des pages W3C compliants. Allez expliquer à vos clients que la propriété ALT est obligatoire dans les balises IMG… Voici donc une méthode automatisée, bien sympa, certe […]
Depuis quelques temps, les habitudes des utilisateurs des « postes informatiques » ont changé. On sait qu’il faut un écran qui ne scintille pas et de bonne qualité pour les yeux. On sait qu’il faut une bonne chaise et être bien droit pour soigner son dos. Mais pour le clavier… en général on est pas très regardant […]
Un serveur dédié c’est bien mais ça coûte cher. La plupart du temps, je propose à mes clients de l’hébergement mutualisé avec accès FTP, en général tout le monde connait et sait utiliser un client FTP mais les mises à jour avec ce protocole sont fastidieuses. Heureusement, certains clients utilisent parfois de bons outils : […]
Voici un petit exemple d’upload de fichier avec des statistiques détaillé sur l’upload en cours et une barre de progression. Cette fonctionnalité est surtout utile quand on commence à uploader des fichiers volumineux. Pour info, ce module d’upload utilise la rfc1867 et la fonctionnalité utilisée est non-obstrusive (je détaillerais le développement plus tard si j’ai […]
Dans la guerre Internet Explorer contre Mozilla Firefox beaucoup de critères entres en jeux: On dit que Firefox est plus rapide que Internet Explorer On dit que Internet Explorer est moins gourmand en mémoire que Firefox On dit que Firefox respecte les normes, contrairement à Internet Explorer. On dit pas mal de choses, un peu […]
Voici un outil qui permet de vérifier si une page est optimisée pour le seo. Entrez votre url et vous aurez les résultats suivants : Url (à vous de définir si elle est optimisée) Titre, un indicateur vous aide sur la longueur Description, un indicateur vous aide sur la longueur Compte les H1 -> H6 […]
L’AFUP organise samedi 07 juin son premier PhpCamp qui se tiendra à la Cantine de 10h00 à 18h00. Comme vous le savez, les barCamp ne sont pas vraiment des rendez vous où vous pouvez vous coller au fond, près du radiateur mais plutôt des journées de rencontres productives. 80 Places était dispo lors de l’ouverture […]
Memo perso : regexp pour matcher tous les liens d’une page. $regex = « /<\s*[a|area]\s+.*href\s*=\s*[\ »|’]([^#]*)[\ »|’]/isU »; preg_match_all($regex, $html, $links); J’ai choisi de ne pas inclure les ancres ([^#]*)
Voici un outil très bien conçu et absolument indispensable quand vous avez pas mal de regex à écrire , il permet, via une interface simple et pratique de tester votre regex dans différents langages tel que PHP, perl, Python et Javascript. Ça permet réellement de gagner du temps. Voici le fonctionnement : Vous choisissez le […]
Voici un petit script de surveillance des logs apache dont je me sert pour vérifier de ne pas me faire leacher : #!/bin/bash HIT_MAX=100; LOG_PATH= »/var/log/apache2″; for i in `sed -e ‘s/^\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\)\s.*$/\1/’ \ $LOG_PATH/*.log | grep -v ‘[[:alpha:]]’ | sort -u` do HIT=`grep $i $LOG_PATH/*.log | wc -l` if [ $HIT -gt $HIT_MAX ]; then echo […]
Pour avoir vu pas mal de pratiques différentes sur l’utilisation de librairies externes dans un projet, voici un memo sur l’utilisation de repository externes : svn externals Les svn externals permettent d’utiliser un repository de composants externes à votre projet et d’en utiliser le versionning. Vous pouvez choisir de mettre à jour ou non ce […]
Parce qu’il me faut toujours 2 heures pour le retrouver, cette fois je le note 🙂 find . -type f -regex « .*\ .* » \ -exec bash -c ‘echo « $1 »;mv « $1 » « ${1// /-} »‘ ‘{}’ ‘{}’ \; Ceci vous permet de trouver et de renommer un fichier avec un espace. Ici on remplace l’espace par un tiret.
Parfois pour des besoins divers je suis « obligé » d’utiliser windows. J’ai pas réussi à me faire à gimp, j’utilise donc photoshop. Pour intégrer quelques pages HTML, j’ai du choisir un éditeur de texte => VIM pour windows mais horribbbbbleeee : par défaut le fond est blanc et la police est …étrange (tahoma bold je crois). […]
Si pendant que vous compilez php, vous obtenez cette erreur: configure: error: xml2-config not found. Alors que vous avez bien installé libxml2 et libxml2-dev, ne vous acharnez pas à reinstaller libxml2 ou libxml2-dev. Il suffit « simplement » d’installer libxml++2.6-dev (sous ubuntu) …
J’ai souvent entendu des prestataires expliquer au client que la migration d’un nouveau site peut être longue à cause du temps de propagation DNS, petite explication: Les serveurs DNS (domain name serveur) ou serveurs de noms sont (en gros) des bases de données où sont stockées les binômes adresseIp/nom de domaine, cela afin de retrouver […]
Petit memo perso, transformation d’une phrase en url (avec accents puisque maintenant google et les dernières navigateurs acceptent). function urlize($string){ $find = array( ‘/([\[\(].*[\]\)])/’ # bracket and co ,’/[\s]/’ # space and multispace ,’/[…,!?.;:“’”\’ »&+]/’ # blacklisted chars ,’/[-]+/’ # multi – ,’/(^-)/’ # – as begin ,’/-$/’ # – as end ); $repl = array( »,’-‘,’-‘,’-‘, », »); […]