Marre des Bugs – Le site internet de La Poste

Cette après-midi je vais à La Poste pour affranchir deux lettres, je suis surpris du prix que m’indique l’automate et donc souhaite vérifier les tarifs sur leur site internet à mon retour.

J’arrive sur la page ci-dessous facilement :
http://www.laposte.fr/particulier/produits/article/tarifs-consulter-le-catalogue-integral

Cependant lorsqu’on clique sur lien :
Principaux tarifs au départ de France Métropolitaine à compter du 1er janvier 2015.pdf

Devenez quoi !?

Nous sommes désolés : la page que vous souhaitez afficher n’est pas disponible.

LOL vive les bugs pour une société si importante, et étant webmaster je trouve rapidement le problème, le lien comporte des espaces… c’est une erreur de débutant.

En effet le bug ne provient pas directement d’une erreur de codage mais bien des utilisateurs de la plateforme, qui ne sont pas assez formés.

Le développeur aurais pu aussi éviter cela en vérifiant que les documents uploadés n’ont pas d’espaces dans leurs noms.

On peut rejeter la fautes sur beaucoup de personnes mais globalement c’est inadmissible qu’un problème pareil reste sur le site internet de La Poste Française.

De plus j’imagine que le problème remonte au minimum depuis le 1er janvier 2015 lors de la MAJ des tarifs, et on est le 10 avril 2015.

PS : en fait il suffit pour obtenir quand même le document heureusement

de mettre des tirets dans les espaces
www.laposte.fr/particulier/content/download/23580/840376/version/3/file/Principaux-tarifs-au-départ-de-France-Métropolitaine-à-compter-du-1er-janvier-2015.pdf

OU

 www.laposte.fr/particulier/content/download/23580/840376/version/3/file/

Test du FreeToPlay Sniper Elite V2

Sniper Elite v2 testé
Free to Play – Sniper Elite v2

Je trouve ce jeu immersif, sympa pour les gens qui aiment vraiment être un sniper, on entend son cœur quand on est à la lunette, il faut être silencieux et éviter de se faire repérer et changer souvent de position pour réussir à enchainer les frags. On a du mal à distinguer les ennemis donc en gros le premier qui repère l’autre tue, ça rend le jeu très réaliste.

Je trouve le mode solo un peu trop linéaire et le bourrinage n’est pas pardonné. De plus les animations font un peu low cost parfois comme par exemple « grimper ».
Le mode multi-joueur est bien, on peut tenter de bourriner sur certaines maps mais d’autres ne le permettent pas et on attends de longues minutes avant de trouver une cible.

Je ne pense pas continuer à jouer après 5 heures de jeu, je vous conseille d’essayer si vous aimer vous planquer et fraguer à distance sinon passer votre chemin.

Mettre en place une redirection avec un htaccess

Créer le fichier htaccess et mettez ce code :
RedirectPermanent / http://www.url.com/
Cet exemple redirige de maniere permanente « / » la racine du répertoire courant à l’url suivante « http://www.url.com/ »

De plus si vous voulez qu’ils arrêtent de référencer le contenu de vos répertoire public il faut simplement les empêcher avec un fichier robots.txt contenant le code suivant :
User-Agent: *
Disallow: /

User-Agent permet de définir de quels robots on parle, « * » veut dire all.
Puis Disallow veut dire interdire en français et « / » veut dire la racine.

Ajouter Git sur Windows

Ce petit rappel est fait pour les français débutants en invite de commande, qui souhaite commencer à utiliser Git sur leur environnement Windows.

Tous d’abord il faut savoir qu’il existe de nombreux clients qui permettent d’éviter d’utiliser des lignes de commande mais il est souvent beaucoup plus simple de faire sans et plus efficace.

Voici la procédure :

– Allez sur http://windows.github.com/ et téléchargez le programme

– Une fois installé, une interface apparais et sert à gérer vos propres repository Github.

– Afin de pouvoir utiliser Git en ligne de commande, il faut trouver le répertoire ou se trouve le git.exe (souvent C:\Users\<username>\AppData\Local\GitHub\PortableGit_<numbersandletters>\bin\git.exe) et l’ajouter à la variable d’environnement du système. On a déjà écris un article sur ce sujet en prenant l’exemple de MySql (Tuto sur les liens symboliques)

Une fois cette manipulation effectuée relancez votre invite de commande en tapant « cmd » dans votre barre de recherche dans Démarrer.

Et normalement si vous tapez git il retrouve le programme associé.

Zend Framework 2 – Comment utiliser une vue / layout d’un module différent que celui où vous vous trouvez actuellement

Nous allons utiliser comme base l’exemple du ZendSkeletonApplication qui se trouve être le getting started fournit par Zend Framework 2 sur leur site ou directement sur github.

Vous pouvez constater que vous avez un dossier module et dans lequel vous avez Application (ZendSkeletonApplication/module/Application/)

Dans le dossier src puis Application et ensuite Controller vous avez l’IndexController (ZendSkeletonApplication/module/Application/src/Application/Controller/)
Voici un exemple de mon IndexController:

La partie qui est importante est:

En gros, on définit une nouvelle vue s’appelant « view » qui nous servira de base.
Ensuite nous définissions une nouvelle vue qui s’appelle $loginView.
On définit vers quel vue cette vue nous renvoie (quel template).
Dans notre cas, pmtime/index.

Mais qu’est-ce que pmtime/index? Comment le définit-on?

Très simple, dans le module.config.php se trouvant dans le dossier config de votre application (ZendSkeletonApplication/module/Application/config/)
Cherchez la partie « view_manager » (copie de la partie du mien ci-dessous):

Pour définir, le pmtime/index vu au dessus dans notre controleur il suffit de l’ajouter dans template_map ainsi que le chemin où se trouve le layout.
Dans mon cas j’ai une vue dans un module différent qu’application et cela donne:

Pour finir dans le controleur on assigne la vue à un nom de variable:

Pour afficher ensuite cette vue c’est très simple.
Par défaut, l’application va afficher l’index.phtml de l’application (ZendSkeletonApplication/module/Application/view/application/index/)
Voici mon index.phtml ci-dessous:

Pour afficher dans l’index.phtml la vue de mon autre module il me suffit de faire

Puisque j’ai assigné à ma variable login la vue.

Et voila, tout devrait fonctionner, si vous avez des questions suite à ce petit bout de tuto. n’hésitez pas.

How to make works socket.io/nodejs on c9.io

I have discovered this amazing site http://c9.io it allows you to code online and deploy your projet on another server.
You can get your source from a github if you want too.

I wanted to make a little concept and looked at c9.io documentation here:
https://c9.io/site/blog/2013/05/native-websockets-support/

But their code doesn’t work so I have done my own example based on socket.io official documentation http://socket.io/#how-to-use

Don’t forget to install choose nodejs project when you create one on c9.io and after use « $ npm install socket.io » to install socket.io

First create a file called server.js and put this code on:

var app = require(‘http’).createServer(handler)
, io = require(‘socket.io’).listen(app)
, fs = require(‘fs’)

app.listen(8080);

function handler (req, res) {
fs.readFile(__dirname + ‘/index.html’,
function (err, data) {
if (err) {
res.writeHead(500);
return res.end(‘Error loading index.html’);
}

res.writeHead(200);
res.end(data);
});
}

io.sockets.on(‘connection’, function (socket) {
socket.emit(‘news’, { hello: ‘world’ });
socket.on(‘my other event’, function (data) {
console.log(data);
});
});

———————- > to launch the file type in your console node server.js

you should have:
bash-4.1$ node server.js
info – socket.io started

And now create a file called index.html and put this code on: (same as c9 example)

var socket = io.connect(‘http://appName.userName.c9.io:8080′);
socket.on(‘news’, function (data) {
console.log(data);
socket.emit(‘my other event’, { my: ‘data’ });
});

———————> launch your url (ex: https://appName-userName.c9.io/)

and you should see in your console debug – served static content /socket.io.js

Hope it helps.

Debug technic on ajax script to avoid errors

If you want to do for example a var_dump without corrupting your data on ajax you can do this:

ob_start();
var_dump($yourvar);
$data = ob_get_clean();
$fp = fopen(« outputdata.txt », « w »);
fwrite($fp, $data);
fclose($fp);
ob_end_clean();

Then go to the folder where you have put the file.

The result is the var_dump will not be displayed to the user and catch directly into the file so your ajax will not be corrupted.

How to duplicate easily a record in mysql

I wanted to duplicate a record on my database and the first problem was the primary key.
I couldn’t directly after my INSERT statement put my SELECT because of the primary key..

So here is my solution (theorical):
CREATE TEMPORARY TABLE [your temporary table] SELECT * FROM [the table where you have the row to duplicate] [where statement if you have any];
update [your temporary table] set [your primary key] = «  »;
INSERT INTO [your new table] SELECT * FROM [your temporary table]

In my case it looks like:
CREATE TEMPORARY TABLE temp_tb SELECT * FROM mytable where myid = 12;
update temp_tb set myid = «  »;
INSERT INTO mytable SELECT * FROM temp_tb

On insert you can put another table, in my case I wanted to duplicate a row in the same table.

How to add a symbolic link in Windows 7

I wanted several times to do, like on my linux installation, a symbolic link. For people who’s don’t know I’ll explain a bit.
When you read some tutorials about mysql, for example, you will probably find something like:
mysql -u root …..
You need to go to mysql folder to do this command.
The symbolic link allows you to directly write on your prompt « mysql » and the command line will make the link between your command and the mysql.exe. (or any other .exe)

To do this you have to:

– Go on Start Menu
– Seek for Computer
– Right click on it, then Properties
– Choose Advanced system settings
– Go on Advanced tab
– Click on Environment Variables…
– Edit the Path variable
– Add the folder where you have your mysql (for me it’s: C:\wamp\bin\mysql\mysql5.5.24\bin\ so I add:
;C:\wamp\bin\mysql\mysql5.5.24\bin\

Don’t forget the ; before and the backslash at the end.
Then ok, close the window.

Now open a prompt and you should be able to write mysql command everywhere.

If you prefeir to choose another word like sqlvar, you can do as well:
mklink name repository

For our example:
mklink sqlvar C:\wamp\bin\mysql\mysql5.5.24\bin\mysql.exe