Philippique
Un geek dans le Bas du Fleuve
Un geek dans le Bas du Fleuve
6 juil
Un petit billet rapide ce matin pour vous parler de Red Dead Redemption, un jeu de style SandBox pour Xbox 360 ou pour la Playstation 3 par Rockstar, les concepteurs de Grand Theft Auto. Si vous êtes nostalgique du temps ou vous jouiez aux cow-boy et aux indiens, dépêchez-vous à vous procurer cet excellent petit jeu. L’aspect multi-joueur est excellent et le jeu vaut largement son prix de vente. Les graphiques sont sublimes, la trame sonore excellente et l’histoire principale n’est pas piquée des vers non plus. N’hésitez pas à me faire une requête d’ami sur Xbox Live! Mon Gamertag est Philippique, tout simplement.
20 juin
Je suis appelé, dans le cadre de mon travail, à toujours être à l’avant garde et à l’affut des nouveautés technologiques susceptible d’être utiles aux différents départements de l’entreprise pour laquelle je travail. L’une des branches des Publications L’Avantage est l’édition de livre. On m’a donc demandé, il y a quelques temps déjà de suivre l’évolution des livres électroniques. Les Kindle, Sony eBook, Nook ne m’impressionnait pas vraiment et me laissait plutôt septique sur l’avenir des eBooks à court terme. Familier avec le média mais déçu des liseuses, j’avais mis sur la glace mes recherches.
Dernièrement, les gens de chez Apple confirmèrent la rumeur du lancement d’une tablette multimédia destinée, entre autre, aux livres électroniques. Mon intérêt pour les livres électroniques fut donc ravivé avec la venue de ce fameux iPad, surtout lorsqu’on sait quel tremplin formidable furent la plateforme iTunes et les iPod pour l’industrie de la musique.
J’ai donc fait commander un iPad 32 au bureau et j’ai exploré le gadget de fond en comble en gardant en tête l’objectif d’acquérir un tel outil : les livres électroniques. Premier constat, il est lourd. Lire un livre avec le iPad, si on ne peu pas le faire reposer sur quelques choses ou ses genoux, deviens vite désagréable. Ça me rappelait un peu l’époque ou j’étais à l’université et que j’étudiais sur mon lit mes gros manuels de mathématique de 1000 pages. Deuxième constat, iBooks n’est pas encore disponible au Canada et ne comporte pas vraiment de livre francophone. Je sais par contre que ce n’est qu’une question de temps avant qu’une division Canadienne de iBooks ne soit lancée. J’ai quand même téléchargé quelques oeuvres publiques de iBooks pour avoir une idée du feeling. J’ai bien aimé feuilleter Winnie The Pooh, mais l’intérêt n’étant pas au rendez-vous, j’ai très hâte de mettre la main sur un roman ou une oeuvre technique, en provenance de la plateforme d’Apple et susceptible de me captiver et de me garder devant l’écran. Je dois dire que les gens chez Apple ont fait une superbe job avec leur boutique et l’intégration des annotations et vignette dans les livres. Je vois ici d’ailleurs un très gros potentiel pour un usage académique.
Je voulais quand même voir si mes yeux allaient finir par se fatiguer, à force de lire un livre sur l’écran du iPad. Contrairement aux lecteurs noir et blanc Kindle et compagnie, la qualité de l’affichage, quoi que excellente, est rétro-éclairée comme l’est un écran d’ordinateur ou de télévision. J’ai donc installé l’application Kindle pour iPad afin de télécharger un livre ou deux traitant de sujet à mon goût. Je n’ai pas souffert de problème de vue à lire un livre sur l’écran du iPad. En fait, j’ai surtout souffert d’inconfort avec le poids de l’appareil.
Une façon agréable et bonifiée de consommer les médias
Déjà habitué à regarder la télévision en naviguant sur Internet avec mon portable M11x ou avec mon iPod Touch, il fut tout à fait naturel, pour moi, d’utiliser le iPad à cette sauce. Outre son utilité appréciable de liseuse électronique, je pense que la plus grande innovation de la tablette d’Apple sera sans doute l’apport d’un tel outil multimédia dans le salon de monsieur et madame tout le monde. Il est très agréable de suivre une émission de télévision tout en consultant les médias sociaux, une publication électronique, en lisant ou même en visitant un site Internet. L’expérience multimédia en est très bonifiée comparativement avec mon iPod Touch et son écran minuscule. Comparativement à mon portable, l’avantage du iPad est qu’il se met en fonction en un clin d’oeil, ce qui vous permet, par exemple, de récupérer l’appareil sur la table du salon et d’aller sur un site annoncé lors d’une émission de télévision ou sur concours afin de participer. Sur le portable, il faut démarrer le système d’exploitation, ce qui représente plusieurs minutes, surtout si la vitesse du disque dur de notre ordinateur portable est standard, soit 5400RPM.
Comparer le iPad avec un ordinateur portable comme le M11x n’est pas réellement justifiable dans le sens que chacun possède son utilité face à l’autre. Par exemple, la puissance de mon M11x versus le iPad est absolument immense, me permettant de jouer à des jeux récent en 3D très demandant. Le iPad lui est davantage axée pour une utilisation conviviale du multimédia (navigation Internet, médias sociaux comme Facebook, Twitter, YouTube, etc.). Comme j’avais les deux sous la main, j’ai quand même pu apprécier l’un versus l’autre pour vous faire part de mes observations. Quoi qu’il en soit, je serai porté à utiliser davantage le iPad que mon ordinateur personnel. J’utiliserai ce dernier pour mes rages de Crysis ou de World of Warcraft.
iTunes, les podcasts et compagnie
À l’image du iPod Touch et du iPhone, l’intégration de iTunes avec le iPad est excellente. J’aime bien l’idée de synchroniser des vidéos, des podcasts vidéos, de la musique etc. pour utilisation éventuelle dans l’autobus, chez le dentiste etc. L’écran du iPad étant facilement 4 fois plus grande que celle du iPhone et du iPod Touch, il est évident que les applications ajustées pour le iPad soient plus pratique et mieux disposées visuellement. Comme le iPad en est a ses balbutiements (et quel balbutiements! Déjà plus de 2 millions d’unités vendu), il y a fort a parié qu’une myriade de nouvelles applications verront le jour très rapidement. Pour ce qui est de travailler sur l’appareil, j’aime définitivement Mail et le calendrier et je me promet d’essayer iWork aussitôt que j’aurai une petite chance.
Au final, j’aime bien l’appareil malgré le fait que je le trouve lourd pour sa vocation principale : liseuse de livre électronique. Je m’explique mal le fait d’avoir omis de mettre une caméra sur le iPad, même si à bien y réfléchir j’imagine mal prendre des photos avec le gros iPad. Il reste quand même qu’il aurait été super de prendre des photos en conjonction avec un logiciel, comme par exemple Evernotes pour iPad. Quoi qu’il en soit, si vous voulez un appareil pratique pour optimiser votre consommation des médias, n’hésitez pas à vous procurer un iPad.
Pour ma part, la prochaine étape est de développer des applications pour iPad et iPhone avec Cacao et bien sur de pousser mes expériences de livre électronique avec les ouvrages de la maison d’édition Les Publications L’Avantage.
Petite note en terminant, pour des livres en français de qualité, j’ai découvert cette apps iPad : La Hutte de la compagnie de Marque. Visitez leur site ici : http://ibookrama.com/?p=415
9 juin
Un petit truc rapide pour Joomla 1.5 aujourd’hui.
Lorsque l’on programme un template pour un projet Web en Joomla 1.5, il arrive parfois que l’on ait besoin de cacher certaines zones de module lorsqu’elles sont vides. C’est souvent nécessaire pour la structure d’un site en CSS à multiple colones. Pour y parvenir, il suffit simplement d’utiliser la méthode countModules de Joomla de la façon suivante :
<?php if ($this->countModules(‘nom_de_ma_zone’)): ?><div id= »classe_CSS »><jdoc:include type= »modules » name= »nom_de_ma_zone » /></div><?php endif; ?>
La première ligne, $this->countModules, calcul le nombre de module publié dans cette zone via le backend de Joomla. Il est donc possible, très facilement, de cacher une zone ainsi que son CSS avec une simple conditionnelle dans votre template Joomla.
Bon code!
3 juin
Dernièrement j’ai procédé au lancement de la nouvelle plateforme du Journal L’Avantage à Rimouski. Le nouveau site, en Joomla 1.5, est construit avec un bon nombre de modules, plugins et composants maison que j’ai programmé moi même pour les besoins du projet. Lorsque l’on programme pour un site avec un potentiel de trafic élevé, il est très important d’utiliser les fonctions natives de caching de Joomla dans notre programmation afin de donner une petite chance au serveur SQL de survivre à, par exemple, une nouvelle indexée dans Google News.
Déjà, si vous savez comment programmer avec le framework de Joomla, utiliser les fonctions natives de caching de ce dernier ne devrait pas vous causer beaucoup de problème. En réalité c’est extrêmement simple.
En premier lieu, il faut activer le cache dans la configuration globale de Joomla par le GUI du Backend. Cependant, il est possible de forcer l’utilisation de la cache en informant directement Joomla dans votre code source (voir ci-dessous). Pratique lorsque l’on fait un code gourmand que l’on pense distribuer publiquement.
En premier lieu, déclarez une référence vers l’objet global JFactory de Joomla directement dans votre code php afin d’informer le cadriciel que vous désirez utiliser cette fonctionnalité.
$cache = & JFactory::getCache();
Si vous avez besoin de forcer l’utilisation du cache dans vos créations, par exemple pour un code avec le potentiel de requête SQL lourde sur plusieurs milliers d’entrée dans une BD SQL, vous pouvez indiquer à Joomla que vous désirez forcer l’utilisation du cache de cette façon :
$cache->setCaching( 1 );
Encore une fois, cette technique est très utile lorsque vous développez un code gourmand, destiné au grand publique.
Par la suite, il suffit de convertir votre méthode d’extraction des données traditionnelle pour la faire traiter par le système de caching de Joomla.
Par exemple, la méthode suivante :
$mesDonnees = maClasse::obtentionDeMesDonnees();Deviendra :$mesDonnees = $cache->call( array( 'maClasse', 'obtentionDeMesDonnees' ) );
Vous pouvez passer des paramètres à votre classe très facilement en ajoutant simplement vos variables à la fin du tableau. Par exemple :
$mesDonnees = maClasse::obtentionDeMesDonnees($variable);
Deviendra :
$mesDonnees = $cache->call( array( ‘maClasse’, ‘obtentionDeMesDonnees’),$variable);
Notez également que vous pouvez utiliser une fonction n’étant pas membre d’une classe de la façon suivante :
$mesDonnees = maFonction();
Deviendra :
$mesDonnees = $cache->call( 'maFonction' );
Le reste de votre code s’exécutera de la façon habituelle, mais utilisera des données en provenance du cache. Cela donnera un sérieux « break » à votre serveur SQL et aura pour effet direct d’améliorer la vitesse de chargement de votre projet Joomla 1.5.
Bon code!
Références (anglais seulement) : http://docs.joomla.org/Tutorial:Using_Caching_to_Speed_Up_Your_Code
31 mai
Je ne sais pas pour vous mais pour ma part, l’été s’annonce particulièrement chaud et très occupé. Après le lancement du méga projet en Joomla des Publications L’Avantage (www.lavantage.qc.ca), lequel aura monopolisé le plus clair de mon temps, j’ai cumulé beaucoup de retard avec le reste de mes travaux. J’ai du travail par dessus la tête, que ce soit au bureau ou par les soirs avec mes projets personnels, mes légendaires Garden Party et délicieux BBQ ou l’entretiens de mon serveur Linux et de mon bungalow. J’ai tellement d’ouvrage que je m’interroge la pertinence de prendre du temps pour aller relaxer sur un lac cet été. D’ailleurs, si cela vous intéresse, je suis à la recherche d’un ou d’une assistant(e) programmeur Web Junior ainsi que d’un spécialiste Linux pour greffer à notre équipe technique.
Pour davantage d’informations sur les postes en question, visitez http://www.lavantage.qc.ca/carriere-chez-nous et hésitez pas à me donner vos commentaires !
26 mar
Voici un petit tutoriel couvrant la base pour ajouter un champ personnalisé, par exemple un sous titre, à vos articles Joomla. J’ai eu besoin de modifier le core de Joomla afin d’ajouter cette fonctionnalité pour un projet de Journal en ligne, comportant un exergue à la majorité de ses articles.
Cette solution est intéressante, facile à implanter et à utiliser mais elle a le défaut de nuire à la mise à jour de Joomla. Le jour ou vous procéderez à une mise à jour de votre CMS Joomla, vous aurez probablement à refaire cette petite procédure en entier.
Ce tutoriel prend en considération que vous avez les notions de base en programmation et en gestion de votre base de données SQL. Si vous avez besoin d’aide avec votre projet Joomla, contactez moi. Cette solution s’applique à la version 1.5 de Joomla. Voici donc comment procéder :
ÉTAPE 1 : Faite un backup de vos fichiers!
Il est très important de copier vos fichiers et votre base de données avant de procéder à cette modification. Vous risquez potentiellement de faire planter votre site si vous vous trompez et vous pourriez avoir besoin de restaurer vos fichiers originaux.
ÉTAPE 2 : modification de la base de données
Avec votre logiciel de gestion de base de données préféré, ouvrez la base de données correspondant à votre projet. Ouvrez la table jos_content et ajouté à sa structure un nouveau champ, par exemple soustitre. Choisissez un type de champ VARCHAR de taille 255.
ÉTAPE 3 : Gestion de l’affichage sur le frontend du site
Commencez par créer un override pour l’affichage du contenu sur votre site. Un override permet de modifier le output d’un composant core publique de Joomla sans avoir à modifier le fichier original. C’est déjà ça de moins à modifier lors de la mise à jour de Joomla. Dans le répertoire de votre template (/templates/nom_de_votre_template/), assurez-vous d’y avoir un répertoire html. Ajoutez-y (s’il n’existe pas déjà) le répertoire com_content et article. Copier le fichier default.php que vous retrouverez dans le répertoire /components/com_content/views/tmpl/ vers votre répertoire /templates/nom_de_votre_template/html/com_content/article/.
Ouvrez le fichier default.php que vous venez de copier. Allez à la ligne 25 et ajoutez :
<?= $this->escape($this->article->soustitre); ?>
Remplacez soustitre par le nom du champ que vous avez ajouté à votre table SQL (voir étape 1).
Vous pouvez modifier le output comme bon vous semble, ajouter des conditions de l’affichage, des suffixes de classes CSS etc. dans ce fichier et gérer l’affichage comme vous le souhaitez.
ÉTAPE 4 : Modifier le fichier article.xml
Le fichier article.xml comporte une série d’instruction pour les paramètre assignés à la gestion des champs dans le formulaire d’ajout d’article. Si, par exemple, vous voulez contrôler l’affichage de votre champ personnalisé sur la page frontispice ou non, c’est ici que ça se passe.
Ouvrez le fichier /administrator/components/com_content/models/articles.xml et rendez-vous à la ligne 27. Pour contrôler l’affichage de votre champ personnalisé sur la page frontispice, ajoutez le code suivant :
<param name= »show_ soustitre » type= »list » default= »" label= »Afficher le soustitre » description= »Affiche ou cache le soustitre »>
<option value= »">Use Global</option>
<option value= »0″>No</option>
<option value= »1″>Yes</option>
</param>
Remplacez soustitre avec le nom du champ que vous avez ajouté dans la base de données SQL.
ÉTAPE 5 : Modifier le formulaire dans le backend
La prochaine étape consiste à modifier le fichier en charge de l’affichage du formulaire dans le backend de Joomla. Ouvrez le fichier /administrator/components/admin.content.html.php et rendez-vous à la ligne 797. Tout de suite après le </tr>, ajoutez la ligne suivante :
<tr>
<td>
<label for= » custom_field « >
<?php echo JText::_( ‘Sous titre’ ); ?>
</label>
</td>
<td>
<input type= »text » name= » soustitre » id= »soustitre » size= »40″ maxlength= »255″ value= »<?= $row->soustitre; ?> »/>
</td>
</tr>
Encore une fois, n’oubliez pas de remplacer soustitre avec le nom du champ que vous avez ajouté dans la base de données SQL. Ce bout de code ajoutera le champ sous titre sous le champ titre dans le formulaire d’ajout d’article (voir le screenshot en début d’article).
ÉTAPE 6 : Ajouter la correspondance du nouveau champ dans config.xml
Pour indiquer à Joomla d’utiliser notre paramètre d’affichage sur le frontend, ouvrez le fichier /administrator/components/config.xml et rendez-vous à la ligne 16. Insérez le code suivant :
<param name= »show_subtitle » type= »radio » default= »1″ label= »Show
Article SubTitle » description= »Show/Hide the articles subtitle »>
<option value= »0″>No</option>
<option value= »1″>Yes</option>
</param>
De concert avec la modification de l’étape 3, ceci aura pour effet de gérer l’affichage sur le frontend de Joomla.
ÉTAPE 7 : Informer Joomla de notre nouveau champ dans la table jos_content
Ajouter un champ ne suffit pas. La base de données est géré par une librairie et il faut indiquer à Joomla d’utiliser notre nouveau champ. Pour y parvenir, il faut modifier le fichier /libraries/joomla/database/table/content.php. Rendez-vous à la ligne 33 et ajoutez le bout de code suivant :
var $subtitle = null;
/** @var string **/
Bravo, votre formulaire gère maintenant votre nouveau champ!
11 mar
Mon équipe de travail a su se démarquer, dès ses débuts, par l’attention sincère qu’elle consacre à chacun de ses clients et à leurs projets. Nous avons développé une conscience pro-active des attentes de notre clientèle : non seulement nous répondons à leurs exigences, mais nous prévoyons l’évolution de leurs besoins.
Si vous êtes pourvu(e) de ce sentiment d’estime envers ceux qui vous font confiance, vous pourriez être la personne avec qui mon équipe choisira de travailler.
Afin de pourvoir à une demande constante en opération et support Linux, nous sommes à la recherche de gurus en Linux qui aimeraient se greffer à notre équipe technique. Je recherche des gens imaginatifs et débrouillards qui aiment jongler avec les notions abstraites et les projets complexes.
Voici le profil de la personne que nous cherchons :
Si vous êtes intéressés, communiquez avec moi (cliquez ici pour connaître les différentes façon de communiquer avec moi)
25 fév
Depuis quelques jours, une nouvelle offensive d’hameçonnage circule sur le réseau Twitter. La nouvelle ruse des pirates Internet se présente sous forme de message privé Twitter avec comme sujet « LOL is this you » ou « This you ». Évidemment, le lien dirige vers un site contrefait et vous demande d’inscrire votre mot de passe.
Si vous avez fait l’erreur d’indiquer vos informations personnelles, ou si vous n’êtes pas 100% convaincu que la sécurité de votre compte Twitter n’a pas été compromise, il est fortement suggéré de changer votre mot de passe directement dans votre compte Twitter. Pour changer votre mot de passe, rendez-vous sur Twitter, connectez-vous à votre compte puis cliquez sur paramètres -> mot de passe et suivez les instructions.
18 fév
Un petit coup de geule pour garder la forme ce soir… Je ne sais pas si vous êtes client de Telus ou si vous prévoyez un jour vous abonner à leur service de télévision mais sachez déjà que leur décodeur/enregistreur HD gèle et plante sur une base régulière. En fait, il plante tellement qu’il n’est pas rare d’être dans l’impossibilité de, par exemple, changer de chaîne, de passer les pubs lors d’un enregistrement ou encore de stopper un enregistrement sans passer par le douloureux processus de reboot, lequel requiert environ 15 à 20 minutes à chaque fois.
Ne perdez pas votre temps à appeler au service à la clientèle de Telus. Selon eux, les ingénieurs sont au courant de la situation et tente de trouver une solution. Le problème est que ça dure depuis des mois et qu’ils ne sont pas foutu d’offrir un crédit pour la location de leur appareil de misère. Remarquez, pour avoir traité avec eux professionnellement, ça ne me surprend pas. Une simple demande de changement d’adresse IP requiert de leur part au minimum trois semaines de paperasse et de réunion diverses interdépartementale alors imaginez un problème plus complexe!
Enfin bref, c’est du grand n’importe quoi.
18 fév
Voici un petit truc facile sur Facebook
Vous désirez être invisible pour certains de vos contacts sur Facebook? Pas de problème! Dans Facebook, ouvrez le chat puis cliquez sur Listes d’amis. Créez une liste, par exemple, Maudits fatigants. Une fois votre liste créée, ajoutez simplement les personnes que vous voulez éviter, cliquez par la suite sur la petite icône verte pour passer en mode offline et voila! Vous êtes maintenant invisible aux gens dans cette liste.
