ZendX_JQuery : view helper pour les bouttons

Posté par seiyar81 le 13 avril 2010 | Laisser un commentaire (4)

Après le view helper pour la progressbar de jQuery UI, je me suis amusé à coder un view helper pour les bouttons. Le principe reste le même, cependant j’ai ajouté un paramètre pour gérer le passage des évènements à la création du boutton.

/**
 * Zend Framework
 *
 * LICENSE
 *
 * This source file is subject to the new BSD license that is bundled
 * with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://framework.zend.com/license/new-bsd
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@zend.com so we can send you a copy immediately.
 *
 * @category    ZendX
 * @package     ZendX_JQuery
 * @subpackage  View
 * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
 * @license     http://framework.zend.com/license/new-bsd     New BSD License
 * @version     $Id: Slider.php 20165 2010-01-09 18:57:56Z bkarwin $
 */

/**
 * @see ZendX_JQuery_View_Helper_UiWidget
 */
require_once "ZendX/JQuery/View/Helper/UiWidget.php";

/**
 * jQuery Button View Helper
 *
 * @uses 	   Zend_Json
 * @package    ZendX_JQuery
 * @subpackage View
 * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 */
class ZendX_JQuery_View_Helper_Button extends ZendX_JQuery_View_Helper_UiWidget
{
    /**
     * Create a jQuery button
     *
     * @link   http://docs.jquery.com/UI/Button
     * @param  string $id
     * @param  string $value
     * @param  array  $params
     * @param  array  $attribs
     * @param  array  $events
     * @return string
     */
    public function button($id, $value, array $params = array(), array $attribs = array(), array $events = array())
    {
        if(!isset($attribs['id'])) {
            $attribs['id'] = $id;
        }

        $jqh = ZendX_JQuery_View_Helper_JQuery::getJQueryHandler();
        $params = ZendX_JQuery::encodeJson($params);
        $events = $this->getEvents($events);

        $js = sprintf('%s("#%s").button(%s)%s;', $jqh, $attribs['id'], $params, $events);
        $this->jquery->addOnLoad($js);

        $html = "<button ".$this->_htmlAttribs($attribs)." >";
        $html .= $value;
        $html .= '</button>';

        return $html;
    }

    public function getEvents($events)
    {
        if(!count($events)) return '';
        else {
            $retour = '';
            foreach ($events as $event => $function) {
                $retour .= '.'.$event.'('.$function.')';
            }
            return $retour;
        }
    }

}

Pour l’utiliser on place le fichier Button.php (avec le code ci-dessus) dans le dossier ZendX/JQuery/View/Helper/ et pour l’utiliser :

echo $this->button("button1", "Mon Button", array('icons' => new Zend_Json_Expr("{primary: 'ui-icon-gear'}")),
        array(), array('click'=> "function(){ alert('Hello World !'); }" ));

Enjoy !

Catégorie: Javascript, PHP, Zend Framework | Laisser un commentaire (4)

Des statistiques en temps réel avec Clicky

Posté par seiyar81 le 12 avril 2010 | Laisser un commentaire (0)
Clicky

La concurrence est rude sur le marché des statistiques en ligne. Difficile de trouver sa place quand les mastodontes tels que Analytics de Google, Userfly ou Xiti occupent une place importante.
Les alternatives Open Source offrent des services équivalent avec par exemple Piwik (nouvelle version de phpMyVisites), SlimStat, JoomlaStats ou Joomla-Visites (composants pour Joomla) ou WP-Stats pour WordPress.
Mais je vais présenter une solution que j’utilise depuis 1 mois et qui a su se rendre indispensable a mes yeux : Clicky !

Clicky c’est quoi ?

Clicky, au même titre que ses collègues cités ci-dessus, est une solution de tracking. Elle existe depuis quelques années déjà et analyse à ce jour plus de 203 000 sites !
Clicky est un outil de tracking « comme les autres », on y retrouve donc toutes les informations classiques : détails des visites, recherches, graphes, objectifs etc … tout ceci dans une interface claire très agréable à utiliser.

Qu’est-ce que Clicky apporte de plus ?

Clicky se démarque de ses concurrents grâce à trois points bien précis :

  • Son interface claire et moderne
  • Sa version dédiée IPhone/Mobile
  • Les statistiques en temps réel

L’interface est une question de goût certains apprécieront d’autres pas, mais il faut avouer, une fois de plus, que l’utilisation est très agréable.
De même la version mobile servira à ceux qui possèdent un téléphone avec abonnement 3G.
Mais les statistiques en temps réel, c’est le gros point fort de Clicky, c’est le petit plus qui justifie son utilisation plutôt qu’une autre solution.

Là où la plupart des autres solutions de tracking ne rendent les données disponibles que le lendemain, Clicky met à jour en temps réel vos statistiques. Vous pouvez même (et ça c’est bien le pied) voir les visiteurs actuellement sur votre site grâce à un mode Espion. Vous voyez ainsi toutes les actions effectuées par les visiteurs, vous pouvez les suivre, les espionner ! Vraiment très pratique et indispensable une fois qu’on l’a essayé.

La question qui fâche : le prix ?

Oui tout ceci a un prix, car même si Clicky peut être utilisé en mode gratuit pour un site jusqu’à 3000 pages par jour, le mode Espion est réservé au compte payants.
Mais les prix restent raisonnable avec des offrent allant de 5$ à 20$ par mois. Il est possible de créer une offre personnalisée en choisissant le nombre de sites à tracker ainsi que le nombre de pages vues par jour. Enfin vous pouvez payer 1 an au prix de 6 mois, soit 30$ pour la version « Blogger » ou 60$ pour la version « Pro ».

Utilisée conjointement à Analytics pour son intégration d’AdSense et/ou AdWord, Clicky offre une très bonne alternative aux autres solutions de tracking.

Catégorie: Développement Web, Yriase | Laisser un commentaire (0)

WordPress 3.0 disponible en version beta

Posté par seiyar81 le 10 avril 2010 | Laisser un commentaire (0)

WordPress, notre plate-forme de blogging préférée, va subir un gros lifting avec sa version 3.0 qui devrait être disponible en Mai 2010. On peut dès maintenant avoir un aperçu des améliorations apportées par cette nouvelle version grâce à une première beta.

Parmi les grosses nouveautés on note ainsi :

  • La fusion de WordPress et WordPress MU
  • Un nouveau système de gestion de menu
  • Une tripotée de nouveau thèmes et headers modifiables directement dans l’interface d’admin
  • Meilleure gestion des types de posts
  • Plus ici

Devrait également arriver une meilleure gestion des droits des utilisateurs.
On peut récupérer l’archive ici même pour « tâter un peu la bête » !

Catégorie: Brèves, Internet, Wordpress | Laisser un commentaire (0)

Démarrer avec le QML de Qt

Posté par seiyar81 le 9 avril 2010 | Laisser un commentaire (0)
Démarer avec le QML de Qt

J’ai déjà présenté ce qu’est QML dans un article passé, ce langage à base de syntaxe Javascript qui permet la création d’interface très simplement.

Il est assez aisé de suivre la documentation pour comprendre le fonctionnement de QML, d’autant plus que plusieurs exemples sont fournis avec la version 4.7 de Qt.

Cependant un petit exemple commenté peut toujours aider :

import Qt 4.7

Item {
    // Taille de la fenêtre
    width: 320; height: 240;

    Rectangle {
        id: rectangle;
        // Dimensions du rectangle pour prendre toute la fenêtre
        width: 320; height: 240;
        // Couleur de fond du rectangle
        color: "lightgray";
        // Les ancres permettent de fixer le rectangle aux coins de l'écran
        anchors.bottom: screen.bottom; anchors.top: screen.top;

        Image {
            // Une image dans le dossier du projet
            id: loading; source: "logo.png"; transformOrigin: "Center";
            rotation: rotationA;
        }
        // Une première transformation : translation de 0 à 180 sur l'axe X et lance la rotation C une fois terminée
        rotation: NumberAnimation {
            target: loading; id: rotationA; property: "x";
            from: 0; to: 180;
            onCompleted: rotationC.start();
        }
        // La même qu'avant mais dans l'autre sens de 180 à 0
        rotation: NumberAnimation {
            target: loading; id: rotationB; property: "x";
            from: 180; to: 0; //running: loading.visible == true;
            onCompleted: rotationD.start();
        }
        // Une rotation avec comme centre, le centre de l'image de 180° à partir de 180
        rotation: RotationAnimation {
            target: loading; id: rotationC; from: 180; to: 360;
            onCompleted: rotationB.start()
        }
        // La même qu'avant mais à partir de 0
        rotation: RotationAnimation {
            target: loading; id: rotationD; from: 0; to: 180;
            onCompleted: rotationA.start()
        }
    }
}

Vous pouvez télécharger l’exemple ci dessous.

  TestQML.zip (4,9 KiB, 274 hits)

Pour l’exécuter, il vous faudra compiler le projet, soit en ligne de commande :

qml chemin_vers_le_fichier_qml

soit avec un IDE comme QtCreator par exemple.

C’est un exemple très basique mais qui peut servir de base pour s’amuser avec QML.

Catégorie: Qt | Laisser un commentaire (0)

Auditer son site web avec skipfish

Posté par seiyar81 le 8 avril 2010 | Laisser un commentaire (2)
skipfish

La sécurité est une des principales préoccupations des entreprises concernant leurs données. La sécurité passe par la protection des données, la capacité à se protéger contre les attaques, les intrusions etc…

De nombreuses applications payantes existent et permettent d’auditer des sites web comme Nikto ou Nessus. Ces logiciels sont puissants mais skipfish possède un avantage sur ses concurrents :

“Il est rapide et consomme très peu de ressources !”

En effet la documentation annonce plus de 500 requêtes par secondes sur Internet, 2000 via un LAN et 7000 en local, tout ceci avec un processeur apparemment modeste. Tout ceci grâce à une bonne gestion du protocole HTTP 1.1, aux appels réseaux asynchrones et enfin grâce l’implémentation en C du logiciel.

On peut lui passer un bon nombre d’options comme refuser les cookies, ne pas scanner tel sous-domaine, le nombre maximum de connexions TCP etc…
Skipfish génère ensuite un fichier HTML très simple et agréable à utiliser. On repère ainsi facilement les erreurs, qui sont d’ailleurs plutôt bien détaillées.

Concernant le logiciel lui-même, il est développé par Michal Zalewski, un développeur polonais pour le compte de Google, et il est disponible sous license Apache 2.0

Pour l’installer, il suffit de récupérer l’achive tarball puis ensuite :

tar -xzf skipfish-1.29b.tgz
// On compile
make
// Si vous obtenez des erreurs c'est probablement qu'il vous manque des paquets
sudo apt-get install libidn11 libidn11-dev libssl0.9.8 libssl-dev zlib1g zlin1g-dev

// Si l'installation se déroule bien vous obtenez ce message
See dictionaries/README-FIRST to pick a dictionary for the tool.

Having problems with your scans? Be sure to visit:

http://code.google.com/p/skipfish/wiki/KnownIssues

Une fois ceci fait, vous pouvez examiner la doc et surtout l’aide pour les différentes options.

Catégorie: Internet, Linux | Laisser un commentaire (2)