juin
26

Supprimer la recherche snap.do dans la barre d’adresse de firefox

Je viens d’être victime d’un problème, suite à l’installation d’un logiciel, je me suis retrouvé avec tous mes navigateurs infecté par un malware nommé snap.do. Le résultat, une page par défaut snap.do, un moteur de recherche par défaut, une toolbar et autres joyeusetés. Même après avoir tout nettoyé à l’aide de Malwarebytes Anti-Malware, AdwCleaner ou autre Spybot, il me restait la barre d’adresse/recherche de Firefox qui continuait à m’envoyer sur ce snap.do.

Voici donc la solution que j’ai enfin réussi à trouver sur internet

- taper about:config dans la barre d’adresse
- lancer une recherche pour « snap »
- réinitialiser les variables contenant ce terme

déc
12

Ez Publish – Générer un table des matières à partir d’un contenu xml_block

Pour générer une table des matières à partir des différents niveaux de titre (h2, h3, …)  présent dans votre contenu (saisi via l’éditeur wysiwyg) , il suffit d’utiliser le template operator « eztoc » fourni par ezpublish dans votre template. Et vous obtiendrez des jolies ancres vers votre contenu.

 

{* body is ezxml datatype*}
{eztoc( $node.object.data_map.body )}


nov
15

Limite de caractères de la fonction Group_concat Mysql

Author Appo    Category SQL     Tags , , , ,

Si vous utilisez la fonction Group_concat de mysql, il faut savoir que cette fonction a une limite de caractère par défaut (1024 pour mon cas). Ce qui est traître, c’est que mysql n’indique pas d’erreur et va tronquer le résultat retourné.

Pour contourner cette limite il suffit de lancer la requête suivante avant votre requête contenant le group_concat

1
SET [SESSION | GLOBAL] group_concat_max_len = nbre de caractères;
SET [SESSION | GLOBAL] group_concat_max_len = nbre de caractères;

La valeur doit aussi certainement être modifiable dans un fichier de configuration de mysql.

fév
29

Trier la colonne d’un tableau sans prendre en compte la casse et les accents

Par défaut, la fonction array_multisort n’est pas casse sensitive et ne gère pas les accents.

Du coup avec un tableau contenant « Allemagne », « Enfant », « Équipe », « Toto », on se retrouve avec l’ordre suivant : Allemagne, Enfant, Toto, Équipe

Pour contourner cela, nous allons faire appel à la fonction array_map afin de nettoyer les données à trier.

<?php
$functionSansAccent = function ($chaine) {
        if (version_compare(PHP_VERSION, '5.2.3', '>='))
            $str = htmlentities($chaine, ENT_NOQUOTES, "UTF-8", false);
        else
            $str = htmlentities($chaine, ENT_NOQUOTES, "UTF-8");
 
        // NB : On ne peut pas utiliser strtr qui fonctionne mal avec utf8.
        $str = preg_replace('#\&([A-za-z])(?:acute|cedil|circ|grave|ring|tilde|uml)\;#', '\1', $str);
 
        return $str;
};
 
$data[] = array('mots' => 'Toto', 'nb' => 2);
$data[] = array('mots' => 'Allemagne', 'nb' => 2);
$data[] = array('mots' => 'Enfant', 'nb' => 1);
$data[] = array('mots' => 'Équipe', 'nb' => 6);
 
// On récupére les valeur de la première colonne
foreach ($data as $key => $row) {
    $colSort[]  = $row['mots'];
}
 
 //$colSort = array("Allemagne", "Enfant", "Équipe", "Toto");
//On supprime les accents
  $array_sans_accent = array_map($functionSansAccent , $colSort);
//On met en minuscule
  $array_lowercase = array_map('strtolower', $array_sans_accent);
// Ajoute $data en tant que dernier paramètre, pour trier par la clé commune
  array_multisort($array_lowercase, SORT_ASC, $data);
 
  print_r($data);
/*
Le rendu sera
 
Array
(
    [0] => Array
        (
            [mots] => Allemagne
            [nb] => 2
        )
 
    [1] => Array
        (
            [mots] => Enfant
            [nb] => 1
        )
 
    [2] => Array
        (
            [mots] => Équipe
            [nb] => 6
        )
 
    [3] => Array
        (
            [mots] => Toto
            [nb] => 2
        )
 
)
*/


fév
16

Des slides qui ont de la gueule, avec impress.js !

Comme je vous l’avais dit lorsque je vous ai présenté nos vœux 2012, j’ai découvert récemment un outil qui va vous permettre d’en mettre plein la vue à votre auditoire lors de votre prochaine présentation.

Bye bye le vieux Powerpoint des familles, et place aux technos modernes : HTML5, CSS3 et JavaScript. Lire la suite

fév
16

Limite du nombre de paramètres GET

Author Appo    Category PHP     Tags , , , ,

Aujourd’hui j’ai rencontré un problème sur un site en production et seulement sur la production. Les symptômes ? Perte d’informations passées en paramètres GET. Après quelques recherches, nous avons repéré que $_GET ne contenait pas toutes les informations présentes dans l’url, il manquait les dernières (environ une dizaine de paramètres manquants).

La première hypothèse fut donc que l’URL était tronquée au delà d’un certain nombre de caractères. Sauf que le problème, c’est que d’une page à l’autre, la longueur de l’URL était différente mais surtout, que l’endroit où l’on perdait le premier paramètre n’était pas le même, donc ce ne pouvait pas être un tronquage de l’URL.

Lire la suite

fév
7

Plugin Jquery Tablesorter : Trier sur un numéro de téléphone

Par défaut, le plugin tablesorter jquery ne gère pas bien le tri sur une colonne contenant des numéros de téléphone. La raison ? C’est parce que le plugin détecte le numéro comme une chaine de texte, du coup le tri ne se fait pas correctement. On peut bien essayer de préciser lors de l’initialisation qu’il faudra trier cette colonne comme un numérique, le tri ne fonctionnera pas mieux, tout simplement car généralement un numéro de téléphone contient des caractères alphanumériques tels que « . » ou « - », du coup le tri ne se fait que sur les 2 premiers chiffre du numéro.

J’ai donc créé un nouveau parseur pour gérer le tri sur mes numéros de téléphone. La méthode est très simple, je supprime tous les caractères non numérique lors du tri et effectue ainsi un tri purement numérique.

    $.tablesorter.addParser({
      // set a unique id
      id: 'phoneNumber',
      is: function(s) {
        // return false so this parser is not auto detected
        return false;
      },
      format: function(s) {
                return $.tablesorter.formatFloat(s.replace(new RegExp(/[^0-9]/g),""));
        },
      // set type, either numeric or text
      type: 'numeric'
    });


fév
6

Flightradar24 : Carte du monde des vols d’avions en temps réel

Ce soir je suis tombé sur un site un peu insolite mais qui peut s’avérer utile pour ceux qui voyagent beaucoup ,qui ont de la famille qui voyage beaucoup ou tout simplement pour les curieux ou passionnés d’aviation.

C’est donc une carte du monde avec en direct le trafic aérien mondial. Il est possible de cliquer sur un avion et ainsi de voir sa fiche détaillé, comprenant, entre autres, une photo de l’avion, sa vitesse, sa destination, sa ville de départ, son altitude, sa position et plein d’autres choses. Il est aussi possible de rechercher directement un avion à partir de son numéro.

Bien entendu, tous les avions ne sont pas répertoriés, pour l’instant seuls les avions possédant un transpondeur ADS-B le sont, et l’Europe semble être mieux représentée que les Etats Unis pour le moment.

L’application est aussi disponible sur l’App Store et Android market (en version gratuite et en version payante).

jan
31

Joyeux anniversaire ! …

… en retard.

Bah oui, voici un an qu’Appo et moi-même vous relayons quelques tuyaux et infos que nous pensons utiles à tout le monde.

Et aussi, bonne année à vous tous (oui, j’ai encore le droit pendant 3h30) !

Petit bilan de l’année passée.

Lire la suite


jan
31

Mettre à jour Eclipse (Helios -> Indigo)

Petit tuto rapide suite à la mise à jour d’Eclipse à laquelle je viens de procéder sur mon poste. Lire la suite

Edito

Bienvenue sur Mémorandom.

Mémorandom est le blog de 2 développeurs web, Appo et Nico.

Vous y trouverez des informations sur différents domaines touchant de près ou de loin au développement web

Tutoriels Yii Framework

Nos derniers articles

Blogs Dev

Liens

Mots-clefs