Dans la catégorie des petits trucs faciles voyons ensemble aujourd'hui comment virer la page 404 par défaut d'une application CodeIgniter.
En effet, si vous utilisez les jolies URLs avec le "Controller" de CodeIgniter qui gere vos liens, toutes les requêtes passerons donc par lui et si le lien n'est pas bon il renverra la page d'erreur du framework, mais en plus sans un 404 correct au niveau de la réponse. Ce qui évidement est mal.
Voyons donc comment régler les deux problèmes simultanément :
D'abord dans le fichier "routes.php" trouvez la ligne :
$route['404_override'] = '';
et remplacez la par :
$route['404_override'] = 'welcome/pastrouve';
Cela suppose que vous avez gardé le "Controller" par défaut de l'application exemple, sinon remplacez par le nom de votre "Controller" principal comme :
$route['404_override'] = 'moncontroleur/pastrouve';
Vous aurez remarqué que je n'utilise pas un "Controller" entier pour faire cette page, mais comme je suis econome je me contente de rajouter une methode dans mon controle principal. Libre à vous d'en créer un si vous en ressentez le besoin.
Donc ensuite ouvrez votre "Controller", ici "Welcome.php" et créez la fonction "pastrouve" :
public function pastrouve()
{
header("HTTP/1.1 404 Not Found");
$this->load->view('view_404');
}
Voilà, très simple, ici on se contente de mettre le bon "Header" avec la fonction adéquate, puis de charger le template personnalisé de notre page d'erreur (ici "view_404.php" dans les vues) et c'est terminé ! Vous pouvez pousser un peu plus loin le bouchon en récupérant l'URL demandée et en la passant en variable au template pour l'afficher à vos visiteurs avec la fonction "current_url()".
Bonne personnalisation, et si vous faites des 404 sympas postez les dans les commentaires.
Partant du constat qu’on finissait toujours par manger quelque chose sur un coin de table, il a été décidé que le prochain apéro PHP du PUG Bordeaux serait un apéro/repas.
Il se déroulera ce lundi 30 Janvier à la cassolette, place de la Victoire à partir de 19h.
L’apéro est ouvert à tous, à chaque session, de nouveaux visages font leur apparition, n’ayez donc pas peur de venir, même si c’est juste pour faire un petit coucou.
Plus d’info : site du PUG


Suite à cela, il semble désormais acquis que contrairement à ce que j'avais espéré, il y aura une version RC7 de PHP 5.4.
Le fichier NEWS a en effet été mis à jour en conséquence :
?? Jan 2012, PHP 5.4.0 RC 7
Ma première réaction a été la déception, bien évidemment, mais j'avoue que je préfère largement avoir (peut être) une version fiable et de qualité dans un mois qu'une version mal finalisée maintenant susceptible de poser tout un tas de problèmes.
Je fais donc contre mauvaise fortune bon c?ur en me disant que c'est juste reculer pour sauter encore mieux, plus haut et plus fort.
Afin de répondre à l’émergence de la vidéo sur les nouveaux canaux médias et pour permettre leur diffusion, les systèmes d’informations permettant le traitement des contenus sont de plus en plus hétérogènes. On voit ainsi différentes technologies au sein d’un même système d’information : pour la capture, la transformation des contenus vidéos.
Pour répondre à cette problématique, une task force s’est mise en place : AMWA-EBU FIMS task force.
Cela nous fait beaucoup d’acronymes, voici leur explication :
Le framework FIMS est basé sur une architecture SOA et permet l’interopérabilité entre les différentes entités d’un SI média. Ce framework normalise ainsi leurs échanges en s’intercalant comme moyen de communication.
Le projet a été présenté pour la première fois en 2011 lors des gros événements du Broadcast : le NAB (à Las Vegas en avril) puis de l’IBC (à Amsterdam en septembre). Il est actuellement en version 1.0 et rentre dans sa seconde phase. En plus d’être piloté par l’AMWA et l’EBU, des acteurs importants du monde de la vidéo les ont rejoints : Sony, Harmonic, BBC. Le wiki regroupe l’ensemble des documents et des ressources liés à ce projet.

Dans la suite de mes trois précédents articles consacrés à ce sujet, j’ai commencé à écrire un très long article dans lequel je décortique point par point les différentes caractéristiques des langages de programmation. L’écriture de l’article m’a obligée à structurer mes idées, et m’a aidée à réaliser un certain nombre de choses. Par contre, l’article lui-même est devenu un long truc un peu indigeste, alors j’ai décidé de le mettre à la poubelle.
Pour le moment, je vais juste reprendre une partie de ce que j’avais écrit, concernant la syntaxe des langages.
Une des caractéristiques essentielles d’un langage de programmation, c’est d’être facile à lire et à relire. On doit pouvoir lire du code source comme un linguiste peut lire un texte écrit dans une langue étrangère.
Cela passe notamment par un syntaxe légère, qui ne se mette pas en travers de la lecture, qui ne soit pas inutilement verbeuse et qui reste sans ambiguïté.
Pour illustrer mon propos, je vais vous montrer comment on code la factorielle récursive dans plusieurs langages procéduraux. Tout d’abord en Pascal :
FUNCTION factorielle (n: shortint) : integer;
BEGIN
IF n <= 1 THEN
BEGIN
WRITELN('End of loop');
factorielle := 1
END
ELSE
BEGIN
WRITELN('Loop');
factorielle := n * factorielle (n - 1)
END;
END;
Ensuite en BASIC (VB.net, inspiré par le site Developpez.com, © Philippe Laserre) :
Function Factorielle (ByVal N as Long) As Long
If N=1 Then
Console.WriteLine("End of loop")
Return 1
End If
Console.WriteLine("Loop")
Return N * Factorielle(N - 1)
End Function
Et voici le code équivalent en C :
int factorielle(int n)
{
if (n <= 1)
{
printf("End of loop\n");
return 1;
}
printf("Loop\n");
return n * factorielle(n - 1);
}
Pour terminer cette démonstration, voici la même fonction factorielle en Python :
def factorielle(x):
if x <= 1:
print("End of loop\n")
return 1
print("Loop\n")
return x * factorielle(x - 1)
Avez-vous déjà remplacé l’envoi d’un mail par un SMS ? En effet, tout comme de nombreux sites le proposent désormais, envoyer un notification par un message texte, autrement dit un SMS, au lieu d’une notifications par courrier électronique, autrement dit un mail, peut être très utile dans le cas d’informations sensibles, ou urgentes. Après quelques fouilles sur le Web, j’ai retenu quelques solutions, dont il est très simple de mettre en place. En tout cas pas plus difficile que d’envoyer un mail… Laissez-moi vous montrer comment !
À mon insu, l’envoi de SMS peut être très facile puisqu’il vous suffit d’envoyer un mail… En effet, vous pouvez envoyer votre texte à une adresse e-mail et il sera délivré au numéro que vous avez spécifié. En revanche, cette solution est, dans certain cas, peu optimale… Pourquoi ? Tout simplement parce que vous devrez connaître deux éléments : le numéro de téléphone du destinataire (jusque là rien d’anormal), et l’opérateur de ce dernier… Oui vous avez bien lu, il sera nécessaire de connaître le nom de domaine du réseau de votre destinataire, afin de spécifier le domaine. Pas l’idéal vous allez me dire, mais c’est nécessaire.
Heureusement, dans une autre partie de l’article, je vais vous présenter une autre méthode pour s’en passer !
Ci-dessous un schéma simplifié de la façon dont un message peut être envoyé à partir d’une application Web sur un dispositif sans fil :

Voici les différentes étapes du processus :
mail en PHP Donc, comme je viens de vous l’annoncer ci-dessous vous allez devoir connaître le domaine de l’opérateur de votre destinataire.
