Logiciels



Guillaume Legault
12 mars 2010

.htaccess

Problème :

Que faire si on a plus que 9 arguments à gérer dans une règle de réécriture ?

Solution :

On peut utiliser l’instruction RewriteMap avec le paramètre prg, qui lui apelle un script Perl.

Exemple :

Contenu du fichier .htaccess :

RewriteMap manyargs prg:/home/projet/splitargs.pl
RewriteEngine On
RewriteRule ^/blog/(.*)$ /blog.php?$(manyargs:$1) [PT]

Contenu du fichier splitargs.pl :

#!/usr/bin/perl
$|=1
my $i=0;
my @args = split !/!, $_;
foreach my $args (@args) {
  $i++;
  $return .= "&arg$i=$arg";
}
$return =~ s/^&//;
print $return


Discussion :

Cette règle permettra un nombre indéfini d’arguments d’apparaître dans l’URL et générera une requête avec ces arguments nommés séquentiellement.

Cela peut s’avérer très utile dans le cas ou on a plus de 9 arguments à traiter. Le traitement des expressions régulières dans mod_rewrite est limité à 9 arguments tout simplement parce que le 10e argument ($10) serait indifférentiable du 1er ($1) suivi d’un « 0″.

Je trouve étrange qu’on soit limité de la sorte… selon moi il aurait pu y avoir un moyen d’échapper les arguments à 2 chiffres. Mais bon, avec l’instruction RewriteMap et un simple script Perl, il est possible de pallier cette limitation!



pierre-paul
1 mars 2010

Nouveau DRM pour Ubisoft

Ubisoft a présenté il y a environ un mois un nouveau système DRM. En résumé, un DRM(Digital Rights Management) est un système qui permet de vérifier que le jeu ou l’application ne sont pas une copie. Ces systèmes permettent en théorie de réduire le taux de piratage, mais en pratique, ils amènent beaucoup de problèmes chez les clients.

Certains DRM étaient tellement restrictifs que beaucoup de clients qui avaient acheté des jeux légalement étant incapable de jouer avec leurs jeux nouvellement achetés. Le système avait des failles ou n’avait pas été testé assidument sur tous les systèmes d’exploitation. Un des systèmes qui avait été pointé particulièrement du doigt était Starforce parce qu’il simulait un lecteur CD-ROM pour faire ses tests de vérifications. Le lecteur CD-ROM virtuel est venu entrer en conflit avec certains lecteurs CD-ROM bien réel et rendait ces lecteurs complètement inutilisables. Le gamer devait donc tout simplement réinstaller Windows afin de pouvoir utiliser son lecteur. Le système a été piraté assez rapidement, au point tel que certaines personnes qui avaient acheté le jeu le pirataient afin d’éviter des problèmes.

Le nouveau système de Ubisoft a décidé de s’y prendre d’une autre façon. Plutôt que d’installer des trucs bizarres et qui vont peut-être entrer en conflit avec certains ordinateurs, ils ont décidé d’obliger l’utilisateur d’avoir une connexion sur internet s’il voulait jouer. Le jeu utilisant ce DRM ferait des vérifications périodiquement pendant que vous jouez (dans le jargon, on appelle ça Phoning home). Ubisoft a poussé la chose un peu plus loin en gardant sur leur serveur votre partie enregistrée.

Voici les principaux points négatifs soulevés :

  • Vous devez toujours être en ligne… en d’autres mots, si votre connexion internet flanche, vous perdez votre progression dans le jeu.
    L’implémentation du jeu ici est cruciale. Les développeurs pourraient forcer le jeu à se fermer et vous perdriez votre progression, ou ils pourraient simplement vous donner un avertissement en attendant que votre connexion internet revienne. Vous pourriez perdre votre connexion à cause de votre ISP (Bell, Vidéotron, etc.) à cause de votre rooter ou simplement à cause d’un câble qui s’est fait manger par votre chien.
  • Il deviendrait impossible de revendre votre jeu. Le jeu serait associé à votre compte Ubisoft, vous seriez donc obligé de vendre votre compte Ubisoft aussi, ce qui est impossible selon la condition d’utilisation (TOS) des comptes Ubisoft.
  • Si les serveurs d’Ubisoft sont fermés pour réparation ou pour une mise à niveau, vous serez dans l’impossibilité de jouer, parce que les parties enregistrées sont sur leur serveur et l’authentification est impossible à faire.
  • Possiblité de jouer sans CD/DVD, qui était le DRM par défaut de plusieurs jeux.

Les bons côtés maintenant :

  • Si tout fonctionne, on pourrait rêver à une diminution du prix des jeux parce qu’il y aurait moins de piratage, mais j’imagine que le prix va rester le même et les profits seront redistribués sur d’autres franchises et le développement de nouveaux jeux.
  • Possiblité de jouer chez un ami avec votre personnage sans avoir à amené votre partie enregistrée. Le fait d’avoir votre partie sur leurs serveurs vous permet de jouer de n’importe ou, pourvu que le jeu soit installé. En théorie c’est une bonne idée, mais en pratique, si vous allez chez ami, c’est pas pour qu’il vous regarde jouer et si vous le faites, vous amenez votre ordinateur. Pourtant, Ubisoft met l’emphase sur ce « très » bon côté.
  • Possiblité d’avoir des amis et de parler avec eux pendant que vous jouer, un peu comme fait Steam ou Battle.net entre autres.

En en parlant avec Guillaume, nous avons trouvé des bons côtés qui malheureusement, n’ont pas été mentionnés par Ubisoft pour l’instant :

  • Des marchants légendaires se promenant de joueur en joueur et vendant les items achetés/vendus par les autres joueurs. Nous aurions de vrais marchands itinérants!
  • Des troupes ennemies légendaires se promenant aussi de joueur en joueur. Présentement les ennemis sont gérés au hasard ou reviennent toutes les X minutes.
  • Rendre possible de switcher entre le jeu single player et multiplayer plus facilement et avec plus de transparence. Je vois particulièrement l’intérêt ici, vous êtes en train de jouer avec vos amis et tout à coup votre petit frère commence à télécharger un film en HD sur sa Xbox360, il serait possible de tomber en mode single player et continuer à jouer où vous étiez rendu. Le système d’authentification et d’enregistrement de partie demande beaucoup moins de bande passante qu’un jeu complètement en ligne.
  • Avoir les bons cotés des MMO sans avoir les mauvais cotés : Système de vente aux enchères sans les serveurs trop lents par exemple.
  • Avoir des émissaires ou des factions qui se promènent entre les joueurs, selon les missions accomplies et les choix faits par les joueurs, le monde diplomatique et ou physique du jeu pourrait changer. Par exemple, 60% des gens décident d’aider le scientifique fou et une ville complète disparaît de la carte pour tous les joueurs. Une ville se fait conquérir par le royaume ennemi parce que la majorité des joueurs ont décidé d’aider le royaume.

Beaucoup de bonnes (et mauvaises!) idées peuvent ressortir avec un système qui oblige le joueur à avoir une connexion internet constante. Les implémentations de ces exemples se font au niveau du jeu et non pas au niveau du DRM, mais si le DRM oblige l’utilisateur à être connecté, les implémentations deviennent beaucoup plus faciles à réaliser. Personnellement, j’espère que le système fonctionnera et qu’il profitera des ouvertures qu’il apporte, mais j’ai bien peur que beaucoup de pirates s’amuseront à faire planter les serveurs de Ubisoft pour les obliger à le retirer. Si les serveurs ne tiennent pas le coup devant les pirates, les gens vont commencer à poursuivre Ubisoft parce que les biens qu’ils ont achetés sont inutilisables.



marie-andree
21 décembre 2009

Créer une newsletter : respectez les règles!

Une newsletter est destinée à plusieurs boites de messagerie différentes (hotmail, yahoo, gmail, outlook, thunderbird…) et chacune réagit différemment. La simplicité et l’accessibilité est de mise! Voici quelques règles à suivre pour maximiser la compatibilité:

- Ne pas excéder 600 pixels de large

- Ne pas dépasser 30 Ko

- Insérer le code à l’intérieur de la balise BODY (oublier le reste)

- Intégrer complètement en tableaux (aucun div!)

- Déclarer le CSS à l’interieur du code (CSS inline)

- Lier toutes les images (et autres médias) en liens absolus

- Utiliser les entités HTML

- Valider le code (Validator du W3C)

- Supprimer les espaces inutiles et les commentaires



Conseils éclairs

Il semble y avoir des problèmes de compatibilité avec la couleur de background déclaré dans le HTML, BODY ou un DIV. Je vous recommande donc de créer un tableau 100% avec un BGCOLOR.

Il semble aussi avoir des troubles avec les BORDER dans hotmail. Vous pouvez toujours créer des bordures artificielles à l’aide de TR et TD en spécifiant une couleur de fond et un width ou un height.

Privilégiez les IMG au lieu des BACKGROUND-IMAGE. Vous constaterez que hotmail et outlook sont capricieux sur ce point.

Quelques liens très utiles sur le sujet :
http://www.email-standards.org/
http://www.campaignmonitor.com/css/
http://www.xavierfrenette.com/articles/css-support-in-webmail/



luc
4 novembre 2009

Assassin’s Creed II, le film: convergence

La bande annonce du film Assassin’s Creed II, basé sur le jeu du même nom, est sortie sur YouTube. Ce film sera une révolution, le saviez-vous? Par le passé, lorsqu’un jeu vidéo connaissait un certain succès, Hollywood en faisait un film ensuite, histoire de faire des dollars faciles. Mais en général, les films étaient jugés mauvais par la critique. Le scénario d’un jeu, interactif par définition, finit par être dénaturé lorsqu’on doit l’adapter au déroulement linéaire d’un film et les amateurs ne s’y reconnaissent plus.

Avec Assassin’s Creed II, Hollywood a mis de côté son attitude c’est-moi-qui-sait-comment-faire et a carrément demandé aux programmeurs d’Ubisoft de réaliser le film de A à Z. Et ce, en même temps qu’ils développaient le jeu. L’interconnexion sera totale. Espérons que cette convergence entre les deux industries servira à produire un résultat de qualité.

Source: http://www.canada.com/technology/Film+game+industry+converge/2171668/story.html



François Viens
19 octobre 2009

Drupal vs Typo3

Voilà déjà plusieurs fois que mon collègue et moi avons des discussions par rapport à différentes solutions de gestion de contenu (CMS) Open Source. Chez QuiboWeb, notre équipe est spécialisée en programmation Web, majoritairement en PHP 5 orienté objet et MVC (Modèle Vue Contrôleur), utilisant Smarty et XHTML et CSS pour le « front end ».

À partir du moment que tu es spécialisé en PHP, tu peux intervenir dans plusieurs plateformes Open Source codées en PHP. Avec les années, nous avons donc pu développer une expertise avec différentes solutions mais certaines solutions nous plaisent davantage…

Dans le dernier mois, à 2 reprises un appel d’offre précisait l’utilisation de Typo3. Préférant Drupal, cette demande autour de Typo3 a piqué notre curiosité. Quand commencer un projet avec Typo3? Travailler sur un projet existant qui a déjà Typo3, ok… Mais pourquoi commencer un projet de 0 avec Typo3? Au Québec, la technologie Typo3 est particulièrement populaire au niveau gouvernemental et part le fait même, dans la ville de Québec. À Montréal, 1 seul joueur s’affiche clairement comme expert en Typo3 (Googlez le, je mets pas de lien!)


Mon collègue a alors sorti de son sac, un document PDF rédigé en 2008 comparant les CMS Open Source. Je ressors quelques statistiques pour le plaisir, fidèle avec le titre de mon billet Drupal vs Typo3 !



Ressources disponibles

Tout le monde sait qu’au niveau d’un projet Open Source, le nombre de ressources compétentes disponible, on l’appel plus souvent « La communauté », est très important. Dans le document on voit que pour Drupal, 933 ressources disponibles sur eLance.com et 353 sur Guru.com alors que pour Typo3, seulement 71 ressources disponibles sur eLance.com et 34 sur Guru.com

Livres publiés

La documentation disponible autour d’une solution Open Source en dit long sur sa notoriété dans l’industrie. Drupal, en 2008, avait 12 livres publiés dont 7 dans la dernière année (2007 à 2008). Typo3, pour sa part, en avait 7 de publiés et 0 dans la dernière année.

Taux d’adoption

En 2008, Drupal était dans les « Leaders » alors que Typo3 était dans les « Movers », ce qui est tout de même pas si mal, n’étant pas dans les « Laggards »!

Inbound Links

Intéressant de comparer le nombre de liens entrant sur les sites Web des 2 solutions! La théorie des grands nombres supposent que si on a beaucoup de liens et qu’on n’a pas fait faillite, c’est que les gens doivent parler en bien de nous! En 2008, 163 000 liens pour Drupal et 3810 liens pour Typo3.

Positionnement dans les moteurs de recherche

Si je cherche « content management system », quelles solutions sont les mieux positionnées? Drupal était là, mais pas Typo3!

Position dans Alexa

Bon, je le mentionne pour prouver mon point, mais Alexa, ça vaut ce que ça vaut! Drupal occupait la position 1223 au palmarès alors que Typo3 occupait la position 6861. Quelques mois plus tard, la position de Typo3 dans ce palmarès avait baissée.

Bruit

Les gens parlent de quelle plateforme sur Internet, Google et compagnie? Drupal en 3e position et Typo3 en 5e position. Au niveau de Twitter, des blogues, des « Groups », des prix et des médias, Drupal est également mieux positionné que Typo3…

Au niveau de la marque (« Brand »), Drupal a de l’avance… Au niveau de la convivialité de l’interface, mon avis personnelle est que Drupal a l’avance…

Vous êtes fous de Typo3 et lisez ce billet, vos commentaires sont appréciés… N’oubliez pas de consulter le PDF avant de me sauter dessus!