planetePHP.fr
Stéphane Bourzeix 2012-01-28T13:07:00+01:00

Page 404 personnalisée avec CodeIgniter

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.

Roms Blog 2012-01-28T12:36:29+01:00

Apéro/repas PHP à Bordeaux lundi 30 Janvier

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

 

 

 

 

 

 

 

 

Nexen.net 2012-01-27T04:45:19+01:00

Envoie SMS en PHP

Image pour le titre du contenu
Le blog des nouvelles technologies explique à travers un article comme gérer l'envoi de SMS en PHP. La technique présentée, montre l'utilisation de TextMagic.
L'article explique les points suivants :
  • Méthodologie
  • Utilisation de la fonction mail de PHP
  • Utilisation du service TextMagic avec son API

Par ailleurs, une version de démonstration est disponible pour voir que cela fonctionne correctement. En plus, vous pourrez récupérer l'ensemble des scripts de l'article pour que vous puissiez le mettre en place chez vous.
Nexen.net 2012-01-26T04:30:13+01:00

Aide mémoire SimpleXML

Image pour le titre du contenu
Les fonctions 'SimpleXML' sont disponibles depuis PHP 5, mais les élèments avec PHP 5.1.3.
Cependant la génération à la volée est souvent mal connu ou peu utilisée. Le site Will Fitch montre à travers un tutorial quelques possibilités que vous pouvez faire pour générer un fichier XML avec les éléments SimpleXML.
L'article montre à travers les différentes fonctionnalités un petit script PHP et un descriptif pour que vous puissiez mieux comprendre le code.
Frédéric Hardy (mageekbox.net) 2012-01-27T14:36:00+01:00

Ils iront en enfer : PHP 5.4 RC7 est annoncée

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.

Olivier Noël (alkannoide) 2012-01-27T11:00:53+01:00

FIMS une architecture SOA dans le monde média

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 :

  • AMWA : Advanced Media Worklfow Association, cette association a pour mission d’améliorer et développer l’utilisation des standards médias.
  • EBU : European Broadcasting Union a une mission similaire à l’AMWA en regroupant des européens
  • FIMS : Framework for Interoperable Media Service

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.

Nexen.net 2012-01-25T21:53:32+01:00

Créer son propre framework (partie 9 à 12)

Image pour le titre du contenu
Fabien Potencier vient de publier la suite des articles autour de la création de son propre framework, basé sur le Framework PHP 'Symfony 2' et l'utilisation de ses composants.
Les parties 9 à 12 traitent
  • L'observateur
  • Http cache
  • Ajout du support HttpKernel
  • Personnalisation du contrôleur


De geek à directeur technique 2012-01-26T10:24:05+01:00

Les langages de programmation ? Partie 4 : simplicité et syntaxe

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é.

Blocs, labels, accolades et indentation

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)

Je vous laisse voir le code équivalent en 

la suite...

Yohann Poiron 2012-01-26T09:04:51+01:00

Gérer l?envoi de SMS en PHP : TextMagic vous aide

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 !

Méthodologie

À 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 :

gerer lenvoi de sms en php textmagic vous aide 1 Gérer lenvoi de SMS en PHP : TextMagic vous aide

Source de l’image

Voici les différentes étapes du processus :

  • Le message est généré depuis l’application Web, et est stocké et exécuté sur un serveur HTTP, puis envoyé au travers d’Internet comme un mail
  • Le mail est reçu par une passerelle de service SMS (Short Message Gateway), qui convertit le message mail en un SMS
  • Ce dernier est alors remis à un Short Message Service Center (SMSC), un serveur acheminant les données à des dispositifs mobiles
  • Enfin, le SMS est finalement transmis sur le réseau pour le destinataire

Utilisation de la fonction 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.

la suite...

Nexen.net 2012-01-25T21:19:26+01:00

Joomla 2.5.0

Image pour le titre du contenu
La nouvelle version du CMS Joomla 2.5 vient de sortir. Il s'agit d'une version majeure car son cycle de vie est prévue d'au moins 18 mois au lieu des 6 mois pour les versions 1.6 et 1.7
Les fonctionnalités importantes pour la version 2.5 sont
La recherche avancée, qui propose l'autocomplémentation et la racinisation, permettant ainsi une accélération au niveau de la recherche et une amélioration au niveau de la performance.
La possibilité d'être informer automatiquement des mises à jour pour le CMS et les extensions sans besoin d'effectuer des manipulations supplémentaires.
Le support des multi-bases de données, c'est à dire que Joomla peut communiquer facilement avec l'ensemble des bases de données, ce qui facilite l'utilisation de celui-ci.
En tout pour cette version, il a été apporté 26 nouvelles fonctionnalités qui sont principalement des évolutions ou l'ajout de nouvelles options pour certaines parties comme les tris, les filtres, le traitement par lots, etc.
Par ailleurs, la version 1.7 sera déclarée en fin de vie le 24 février 2012, c'est pourquoi il est important d'effectuer la migration.

Flux ATOM

Flux RSS

Les sources

Ajouter une source ?

Envoyez un email avec l'URL du site et du flux à planetephpfr AT afup POINT org

Infos



pseudo-cron pour le robot