Zend Framework : Une feuille de style par action

Posté par seiyar81 le 19 juillet 2010 | Laisser un commentaire (1)

Je partage une petite astuce qui m’est venue en développant aujourd’hui. Quand on travaille sur des applications plutôt importantes, on peut être amené à vouloir segmenter le CSS.

En effet un seul gros fichier avec toutes les classes dedans, c’est pas beau et c’est beaucoup plus difficile à maintenir que plusieurs fichiers, chacun contenant les classes et styles utilisées dans la vue.

Pour ajouter automatiquement une feuille de style correspondante à une action,  rien de plus simple, il suffit de placer le code suivant dans le(s) contrôlleur(s) souhaités :

  public function init()
  {
    $this->view->headLink()->appendStylesheet('/css/'.$this->getRequest()->getActionName().'.css');
  }

Ainsi, l’action index aura son fichier index.css et ainsi de suite !

Catégorie: Développement Web, PHP, Zend Framework | Laisser un commentaire (1)

Les Newsgroups de A à Z !

Posté par seiyar81 le 12 juillet 2010 | Laisser un commentaire (7)

Vous avez entendu parler des newsgroups et vous souhaitez vous y mettre ? Vous recherchez des infos sur les providers ou les logiciels ? Ou vous recherchez juste une information, pas de soucis vous la trouverez ici !

Je précise avant tout que je ne peut être tenu pour responsable des agissements de ceux qui suivront cet article pour télécharger du contenu illégal. Je n’encourage en rien le téléchargement illégal, en effet on trouve du contenu tout à fait légal sur le réseau Usenet, tout comme sur les autres réseaux comme BitTorrent.

C’est quoi les Newsgroups ?

Pour commencer un petit message de la part de Wikipédia :
« Usenet (également connu sous le nom Netnews) est un système en réseau de forums, inventé en 1979 et basé sur le protocole NNTP. Il a rapidement été rendu utilisable via Internet où il reste au début du XXIe siècle en usage. »

Voilà pour la petite histoire ! Il est important de savoir que contraire à BitTorrent, Kad et aux autres protocoles « peer 2 peer », Usenet télécharge simplement toutes les données directement des serveurs. Autrement dit, et c’est l’un des plus gros avantage de Usenet, pas de bande passante limité par le nombre de pairs, pas de risques d’infection en se connectant à des pairs, et un téléchargement des données ultra rapide, quasi toujours au maximum de votre connexion !

Vous pouvez effectuer un test de connexion via cette page de Giganews.

De quoi ai-je besoin pour accéder aux Newsgroups ?

C’est très simple, vous aurez besoin de deux choses : un provider et un client.
Le client est simplement un logiciel (avec ou sans interface graphique) qui va vous permettre de récupérer le contenu des serveurs de votre provider.
Ce dernier est donc vous l’aurez compris, le fournisseur d’accès à Usenet.

A partir de là il y en a pour tous les goûts : gratuits et payants aussi bien pour les clients que pour les providers.
Enfin sachez qu’ils existe des clients aussi bien pour Linux, Windows et Mac.

Quel client choisir ?

Tout dépend de vos attentes et de votre utilisation des Newsgroups. Il existe des clients gratuits qui offrent une bonne utilisation de base, ainsi que des clients payants souvent plus aboutis.

Voici une liste non exhaustive et mes avis totalement subjectifs :)

Windows :
Gratuits :

  • GrabIt : je l’ai utilisé pendant longtemps, quelques bugs sous Seven mais relativement stable dans l’ensemble. La recherche sur Usenet via le logiciel est payante, à hauteur de 24$/an.
  • NiouzeFire : développé par un passionné en C#, bien pensé, très simple d’utilisation, disponible en français/anglais.

Payants :

  • NewsLeecher : 20$/an ou 30$/an avec la recherche. Mon petit préféré, rapide, stable, facile à utiliser, permet directement la connexion par proxy ce que j’utilise souvent. La fonction Repair/Extract plus un Explorateur de fichiers bien foutus. A essayer gratuitement d’abord et ensuite à acheter ! Son seul défaut c’est le prix un peu élevé à payer chaque année.
  • Newsbin : 25$ si vous prenez un compte chez Giganews, sinon 35$ ou 40$ avec la recherche. Vous bénéficiez ensuite des mise à jours à vie. Similaire dans les fonctions à NewsLeecher si ce n’est un mode Repair moins pratique.
  • Android : 30$ moins 10% en ce moment soit 27$. Pas testé mais offre les fonctions classiques de lecture/post sur les Newsgroups.

Linux :
Gratuits :

  • Pan : Sûrement le plus populaire client NNTP sous Linux. Interface avec GTK+, nécessite cependant l’utilisation de stunnel4 pour le support des connexions via SSL.
  • URD : Un bon client également avec une interface graphique, supporte les connexions sécurisées, la recherche, mais ne permet pas encore de poster gère le post depuis la version 1.0.4.
  • HellNZB : client en ligne de commande mais de ce fait très rapide à utiliser, peut être géré via une interface Web, mais surtout modulaire ! En effet, HellNZB possède une forte communauté et donc de nombreux modules.
  • Enfin sachez qu’avec Wine vous pouvez utiliser la plupart des clients Windows sous Linux, testé avec GrabIt et Newsbin sans soucis.

FreeBSD :
Une petite liste de clients disponibles sous FreeBSD, non testés malheureusement :

Mac OS X :
Gratuits :

Payants :

  • Unison : 29$ pour la version 2, 18$ pour la mise à jour à partir de la version 1.
  • NZBDrop : 22$.

Vous avez donc l’embarra du choix quelque soit votre système d’exploitation. Les périodes d’essai vous permettent de tester quasi tous les logiciels payants afin de trouver celui qui vous convient le mieux si aucun des clients gratuits ne vous convient.

Quel provider choisir ?

C’est sûrement le choix le plus important que vous aurez à faire si vous vous lancez dans l’univers des Newsgroups. En effet ce choix dépend et va être motivé par un bon nombre de paramètres.

Une petite liste des options qui vont déterminer votre choix :

  • La rétention binaire : durée de conservation des articles binaires, exprimé en jours
  • La rétention texte : durée de conservation des articles textes, exprimé en jours
  • La complétion : taux de complétion des articles, plus c’est haut mieux c’est ! exprimé en pourcentage
  • Les Newsgroups : nombre de newsgroups disponibles
  • Connexions : nombre de connexions simultanées autorisées
  • Vitesse : certains providers ou certaines offres sont limitées en bande passante
  • SSL : chiffre les connexions au serveur de news

Tous ces paramètres diffèrent selon les providers et déterminent le prix final de l’abonnement.
On commence tout d’abord avec les providers gratuits et autant être clair dès le début, aucun provider réellement gratuit n’existe. Du moins je n’en ai pas trouvé.
Vous disposez cependant d’offres d’essai gratuite chez la plupart des providers. Elles permettent en général de se faire une bonne idée de la qualité des offres payantes.
Les fournisseurs d’accès internet possèdent en général un accès aux Newsgroups mais celui-ci est quasi-toujours limité aux groupes textes et encore. Seul Free offre un accès correct aux groupes binaires, mais la rétention est assez faible (environ une semaine il me semble).
Cependant pour des personnes dont l’utilisation des Newsgroups n’est pas régulière cela peur s’avérer suffisant.

Vous trouverez ici une liste des offres d’essai avec le volume maximum autorisé, la période ect…

Parlons maintenant des offres payantes. Il y en a toute une foultitude, beaucoup ne font que revendre l’accès qu’ils louent au plus gros providers, pour s’y retrouver c’est très simple.

  • Optez pour une offre avec le chiffrement SSL et de préférence en 256 bits.
  • Ensuite il est mieux d’avoir une rétention (binaire) la plus longue possible, au minimum 500 jours. Pour la rétention texte minimum 2000 jours.
  • N’importe quel provider se doit d’avoir une complétion de 99% minimum, regardez-bien.
  • Il est toujours plus souple d’avoir un abonnement illimité aussi bien volume que vitesse.

Se rajoute à tout ça nombre de paramètres tel que la qualité de service, la renommée, le service client, le suivi, la facilité de paiement ect…
Le seul provider à proposer tout ceci est Giganews ! La meilleure offre étant l’offre Diamond avec en prime le service VyprVPN offert jusqu’à Juin 2010 ! Quand on sait que le prix minimum pour un VPN de qualité est de 5€ c’est un atout non négligeable.

EDIT 20/03/2010 : News officielle de Giganews, le service VyprVPN est maintenant complètement offert avec l’abonnement Diamond !

EDIT 12/07/2010 : Giganews passe maintenant à 700 jours de rétention binaire !

Une fois tout ceci fait, il ne vous reste plus qu’à configurer votre client, en général pendant l’installation, en saisissant l’adresse, le port, et vos identifiants de connexion donnés par le provider et c’est parti !

Bientôt un tutoriel sur la gestion de HellaNZB grâce au protocole XMLRPC.

Catégorie: Geek, Internet | Laisser un commentaire (7)

Giganews passe à 700 jours de rétention binaire

Posté par seiyar81 le 9 juillet 2010 | Laisser un commentaire (0)
Giganews

Je profite d’un petit moment de répit pendant mon travail (auto-entrepreneur oblige;) ) pour parler d’une grosse nouveauté chez Giganews.

Après avoir ateint les 600, puis 635 jours de rétention binaire, après la mise à disposition de VyprVPN en beta d’abord puis gratuitement pour les abonnés Diamond voici maintenant venue la limite des 700 jours de rétention !

Jamais ateinte, Giganews confirme encore ici son statut de leader incontesté en matière d’innovation et d’amélioration constante de ses services !

Une raison de plus pour s’abonner aux services du meilleur provider Usenet du marché. N’hésitez plus !

PS : très pris en ce moment, je prépare toutefois plusieurs articles sur l’utilisation de MongoDB avec Rails 3, le versionning de documents etc…

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

Forfait spécial coupe du monde chez Giganews

Posté par seiyar81 le 16 juin 2010 | Laisser un commentaire (0)
Giganews

Je profite d’un petit moment de répit pendant mes révisions (examens obligent) pour transmettre cette information intéressante.

A l’occasion de la Coupe du monde de football, qui se déroule en Afrique du Sud pour ceux qui ne seraient pas au courant, Giganews propose un forfait spécial Coupe du monde à seulement 19,99$ / mois.

Ce forfait inclut un transfert mensuel illimité, le chiffrage SSL de 256 bits, 50 connexions, les 678 jours de rétention binaire maintenant offerts par Giganews, une vitesse illimitée et l’assistance 24x7x365 ! Une bonne occasion pour économiser 5$ sur l’offre correspodante.
A noter que cette offre n’inclut pas VyprVPN, le service VPN de Giganews.

Vous trouverez tous les détails de l’offre sur cette page.

Le blog retrouvera son rythme de croisière début Juillet lorsque tous mes examens seront passés.
A bientôt.

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

DataTables en version beta 1.7

Posté par seiyar81 le 28 mai 2010 | Laisser un commentaire (0)

Datatables ce plugin pour jQuery, que j’ai déjà présenté par deux fois, permettant la gestion des tableaux HTML créé et maintenu par Allan Jardine viens d’être mis à jour en version beta 1.7.

Au programme, plusieurs corrections de bug concernant les cookies, les performances, les données, l’ajout du scrolling vertical et horizontal dans le tableau, on peut maintenant récupérer l’objet dataTables créé ou bien d’empêcher qu’on le récupère etc.
Pour essayer cette nouvelle version, plus d’infos sur la page officielle du plugin.
Catégorie: Brèves, Développement Web, Javascript | Laisser un commentaire (0)

Configurer une connexion VPN en ligne de commande sous Linux – VyprVPN

Posté par seiyar81 le 26 mai 2010 | Laisser un commentaire (0)
Giganews

Tout le monde connaît aujourles avantages de l’utilisation d’un VPN : anonymat, sécurisation des échanges etc Il est également plutôt aisé de configurer sa connexion via une interface graphique telle que NetworkManager ou bien KVpnc, mais qu’en est-il de la ligne de commande ?
Et oui on n’a pas toujours accès à une interface graphique, ainsi si l’on administre directement un serveur, il faudra bien passer par la ligne de commande.
Mais rien de bien compliqué ! Nous prendrons l’exemple du VPN offert par Giganews avec abonnement Diamond : VyprVPN.

Il faut tout d’abord installer si ce n’est déjà fait, le paquet pptp-linux

sudo apt-get install pptp-linux

Ensuite il faut éditer le fichier /etc/ppp/chap-secrets et y ajouter la ligne suivante en remplaçant login et password par vos identifiants Giganews :

login  PPTP    password  *

Maintenant créez et éditez le fichier /etc/ppp/peers/vyprvpn et placez-y les lignes suivantes :

pty "pptp eu1.vpn.giganews.com --nolaunchpppd"
name login
remotename PPTP
require-mppe-128
file /etc/ppp/options.pptp
ipparam vyprvpn
lcp-echo-interval 480
persist

Vous pouvez remplacer eu1.vpn.giganews.com par un des deux autres serveurs proposés par Giganews :
us1.vpn.giganews.com ou us2.vpn.giganews.com. Celui de l’exemple étant situé en Europe et si vous aussi, la latence sera moins importante.

Une fois ceci fait, vous pouvez tester la connexion en tapant :

sudo pppd call vyprvpn
ifconfig

Vous devriez voir apparaître une nouvelle connexion nommée ppp0.
Il ne nous reste plus qu’à créer les routes pour utiliser notre nouvelle connexion :

sudo route add default dev ppp0
sudo route del default dev eth0

Et voilà le tour est joué, vous pouvez maintenant utiliser votre connexion VyprVPN pour vous connecter à Giganews par exemple !

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

Gérer ses images CD sous Linux

Posté par seiyar81 le 20 mai 2010 | Laisser un commentaire (0)
Monter ses images CD sous Linux

Il faut bien l’avouer, se trimballer avec tous les CDs de ses logiciels/jeux/musique/films c’est impossible. Ou alors il faut se déplacer en voiture voire en semi-remorque pour certains !

Heureusement pour nous Dieu l’Homme a inventé l’image CD (ou image disque) !
Une image disque n’est ni plus ni moins qu’une copie du système de fichier d’un CD ou DVD mais je suppose que vous le savez déjà.

Quels formats ?

Il existe une foultitude de format de fichiers pour les images CD, les plus connus étant :

  • ISO, le format le plus répandu, c’est la norme internationale ISO 9660
  • IMG, une copie binaire d’un CD ou d’un DVD sous forme d’un fichier nativement lu sous Mac OS X
  • DMG, image ISO lisible, inscriptible et cryptable nativement sous Mac OS X
  • CCD, le format de Clone CD
  • CDI, le format du DiscJuggler (en)
  • CUE, le format de Cue sheet
  • MDS, le format de Media Descriptor, utilisé par Alcohol
  • NRG, le format utilisé par Nero Image Editor
  • PDI, le format de Instant CD/DVD
  • UIF, le format de Magic ISO (qui est une image ISO compressée)

Comment gérer mes images CD ?

Sous Windows on dispose de logiciels tels que Daemon Tools ou Alcohol 120% qui permettent de « monter » ses images CD sur des lecteurs virtuels.
Principal défaut de ces logiciels : ils ajoutent des lecteurs virtuels, pas gênants mais ça pollue le poste de travail :p

Sous Linux c’est une autre histoire, tout est histoire d’une ligne de commande. Simple et efficace :

hugo@seiyar81:/home$ sudo mount -o loop -t iso9660 yriase.iso /media/cdrom0

On indique l’option loop pour rendre le fichier accessible comme un système de fichier et -t pour indiquer le type de système de fichier, ici une image iso.

Et les autres formats de fichiers ?

Linux est fort ! Il existe des programmes qui permettent la conversion d’images aux formats bin, mdf ou encore dmg vers le format iso.

Pour transformer une image mdf en iso :

hugo@seiyar81:/home$ sudo apt-get install mdf2iso
hugo@seiyar81:/home$ mdf2iso image.mdf image.iso

Pour transformer une image bin en iso :

hugo@seiyar81:/home$ sudo apt-get install ccd2iso
hugo@seiyar81:/home$ ccd2iso image.bin image.iso

Pour transformer une image dmg en iso nous utiliserons l’outil bchunck et dmg2img. Vous pouvez également utiliser bchunk pour transformer vos .bin en .iso.

hugo@seiyar81:/home$ sudo apt-get install bchunk dmg2img
hugo@seiyar81:/home$ dmg2img fichier.dmg fichier.img
hugo@seiyar81:/home$ bchunk fichier.img fichier.iso

Une fois que vous n’avez plus besoin du CD :

hugo@seiyar81:/home$ sudo umount /media/cdrom0

Vous disposez maintenant de toutes les informations pour gérer vos images CD sous Linux !

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

Le forfait Silver de Giganews passe de 30 à 50 Go

Posté par seiyar81 le 7 mai 2010 | Laisser un commentaire (0)
Giganews

Une petite news en passant, Giganews a modifié son forfait Silver, le 3ème après Diamond et Platinium, faisant passer la limite maximum du transfert mensuel de 30Go à 50Go.

Bonne nouvelle donc pour les utilisateurs de ce forfait, petit rappel ce dernier n’est proposé qu’au petit prix de 13$ soit, selon le taux dollar/euro, environ 10€.

Une raison de moins de continuer à hésiter !

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

Mise à jour difficile de Kubuntu 9.10 vers Lucid Lynx

Posté par seiyar81 le 6 mai 2010 | Laisser un commentaire (0)
Kubuntu 10.04

Tout le monde le sait plus ou moins, la dernière version d’Ubuntu nommée Lucid Lynx est sortie depuis quelques jours, pas besoin de revenir là dessus.

Possédant un PC sous Kubuntu 9.10 j’attendais d’avoir un bon créneau d’au minimum 2h pour lancer la mise à niveau.
Hier soir je me décide donc à installer la version 10.04 de Kubuntu.
Niveau simplicité d’utilisation rien à redire, tout se fait tout seul, à part choisir de supprimer ou non les paquets obsolètes. Il m’aura bien fallu 2h pour télécharger les nouveaux paquets et les installer mais tout se déroule parfaitement bien. Je redémarre donc l’ordinateur, nouveau logon screen, ha ba oui normal c’est la dernière version de KDE, la 4.4.2, ça tombe bien je voulais mettre à jour depuis un moment.

Je rentre mes identifiants, et là première déconvenue, une petite MessageBox me disant « Could not start ksmserver« . Oui, mais non. Pas très cool ça. Bon je tente des startx, j’essaye de démarrer kdm à la main et finalement je tombe sur un message dans les logs comme quoi deux librairies sont en conflit : libGL.so et libGLCore.so.
Et oui j’ai installé les derniers drivers de NVIDIA quelques jours plus tôt les 195.36.24 et je me retrouve avec une librairie dans cette version et une autre en version 195.36.15.
Qu’à cela ne tienne, je télécharge les 195.36.15 histoire d’être sûr, je désinstalle les drivers puis installe ceux fraîchement téléchargés.

Je redémarre et là miracle j’arrive à me loguer, KDE démarre et m’affiche un superbe écran noir ! Youpi comme si je n’avais que ça à faire ! Je tente un Alt+Tab et bizarrement KDE m’affiche bien un message comme quoi il n’y a pas de fenêtres ouvertes. Et je peux également accéder à la liste des processus en cours avec Ctrl+Echap.
Je trouve alors très vite la source du problème, en effet en tentant de stopper puis de relancer le bureau je m’aperçois que le paquet kubuntu-desktop n’est tout simplement pas installé !
Très bizarre étant donnée que c’est le paquet qui permet l’affichage du bureau de KDE.

Je lance donc un petit apt-get install kubuntu-desktop et là mon cauchemar prend réellement fin, j’ai mon magnifique bureau sous KDE 4.4.2.

Bref je me souviendrais longtemps de cette mise à jour fastidieuse et surtout chronophage qui m’aura privé de plus de 3h de mon temps ! Mais quand on aime on ne compte pas …

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

Ajouter un splashscreen à son application Qt

Posté par seiyar81 le 3 mai 2010 | Laisser un commentaire (0)

Qu’est-ce qu’un splashscreen ?

Sous ce nom un peu barbare se cache tout simplement cette image (ou écran) qui s’affiche au lancement d’un logiciel. Affichant dans la plupart des cas des informations sur les créateurs du logiciels ou sur le chargement en cours.
C’est là que le splashscreen prend tout son intérêt, car on peut ainsi « cacher » à l’utilisateur un temps de chargement très ou trop long ou bien le tenir au courant de l’avancement du chargement (plugins, modules etc…).

Comment ajouter un splashscreen à son application Qt ?

Qt, ce framework que nous aimons tous, possède une classe pour gérer les splashscreen : QSplashScreen.
Partons du principe que vous possédez déjà une application GUI, et que vous souhaitez rajouter un QSplashScreen. Vous devez donc avoir un code dans votre fichier main.cpp qui ressemble à peu près à ceci :

#include <QtGui/QApplication>
#include "mainwindow.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;

    /*
     Une opération longue ...
    */

    w.show();
    return a.exec();
}

C’est ici le code de base généré par QtCreator à la création d’un projet GUI. Voici le code très similaire avec l’ajout du QSplashScreen :

#include <QtGui/QApplication>
#include <QtGui/QSplashScreen>
#include "mainwindow.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;

    QSplashScreen screen;
    screen.setPixmap(QPixmap("images/splash.png"));
    screen.show();

    /*
    On simule une opération longue pour l'exemple
    */
    sleep(10);

    screen.hide();

    w.show();
    return a.exec();
}

On a juste inclus le header « #include <QtGui/QSplashScreen> » et ensuite ajouté une image à afficher.
L’opération longue est ici simulée par un sleep de 10 secondes, mais je mettrai un jour cet exemple en application avec un système de plugins.
Car oui on peut aussi créer des plugins pour son application avec Qt, mais ce sera pour une autre fois !

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