marten-newhall-226045-unsplash

Analyse de code statique avec phpstan

Phpstan est un outil en ligne de commande qui va vous permettre de détecter automatiquement les erreurs les plus simples en scannant l’intégralité de votre projet. De base, l’outil va analyser une application PHP sans tenir compte des spécificités des différents frameworks et librairies. C’est pourquoi il existe des extensions comme PHPstan Symfony pour affiner l’analyse. Si comme moi vous voulez l’utiliser sur un projet qui a beaucoup de legacy (plus de 10 ans) vous allez avoir un rapport gigantesque. Il faut trouver des solutions pour réduire le rapport à la pull request (merge request) que l’on doit relire. ...

3 décembre 2018 · 2 min · arnaud
eaters-collective-109606-unsplash

Du machine learning dans mes cocktails

Dans cet article, nous allons parler Mojitos, machine learning et PHP, trois sujets que l’on mélange assez rarement, mais qui dans le cas du site Cocktailand sont rassemblés. Use case Je souhaite afficher la recette de cocktail qui ressemble le plus à celle que le visiteur est en train de lire. Comme je suis finalement quelqu’un d’assez fainéant, je n’ai pas envie de maintenir des listes de cocktails associés manuellement. Il faut donc trouver un moyen de calculer automatiquement cette liste pour les quelques 600 recettes et que cette liste soit mise à jour automatiquement pour intégrer les nouvelles recettes. ...

8 novembre 2018 · 6 min · arnaud
rawpixel-790897-unsplash

Afficher des graphiques avec JQPlot

JQPlot est un plugin JQuery qui permet de dessiner des graphiques dans vos pages HTML. Si vous faites des pages de statistiques sur vos pages Internet vous comprendrez rapidement quelles sont les applications et surtout en quoi il vous simplifie les choses. En effet, il vous suffit de lui donner les données et de décider quel type de graphique vous voulez obtenir en sortie et le tour est joué ! On peut facilement imager une fonction PHP (ou autre) qui va générer les données qu’il faut mettre en entrée de JQPlot à partir de votre base de données. ...

16 août 2011 · 1 min · arnaud
henry-hustava-81799-unsplash

Sécurité PHP

Les informations de cet article datent L’actualité étant chargée niveau hack, il est temps de sortir un petit article présentant différentes méthodes de sécurisation d’une application PHP. Je vais donc brièvement vous présenter différentes librairies ou classes PHP orientées sécurité. PHPIDS Un monitoring complet des actions de l’utilisateur avec évaluation de la dangerosité de chaque requête, et de la session. L’outil indispensable pour détecter les recherches de failles. Input filter Cette librairie permet de filtrer les tableaux $_GET, $_POST, $_REQUEST pour y detecter le PHP, JavaScript et HTML. Anti csrf Permet d’ajouter un token dans ses formulaires afin de ne pas se les faire détourner. Le but étant que chaque formulaire ne soit soumis qu’une seule fois. L’utilisation des librairies précédentes est un complément mais elles ne constituent pas une sécurité optimale à elles seules. ...

2 août 2011 · 4 min · arnaud
ruben-mishchuk-409401-unsplash

Commencer un petit site Internet avec Instant Blueprint

Instant Blueprint est un service en ligne qui vous permet en quelques clics de mettre en place une architecture de base pour votre nouveau projet de site Internet. En effet, après avoir renseigné quelques informations, il va vous générer automatiquement le squelette de votre site Internet. Pour utiliser cet outil, il vous faut renseigner : Titre du projet Le doctype désiré Le framework javascript à inclure Comment inclure le framework (local ou distant, compressé ou normal) L’extension du fichier index (html, htm, php, asp) Que mettre dans le dossier include (config.php et/ou fonction.php) Centrer ou non le contenu du site Les principales div de la page Voici le squelette généré : ...

12 juillet 2011 · 1 min · arnaud
murray-campbell-29990-unsplash

Système de pagination sous CodeIgniter

Avec Codigniter vous pouvez mettre en place simplement un système de pagination pour afficher vos informations par paquets. Tout cela sans se prendre la tête et se noyer dans des dizaines de lignes de code. Nous allons créer la base de donnée de l’article : Installation et Configuration de CodeIgniter . Dans un premier temps il créer le model. Pour cela nous allons utiliser la classe active record de CodeIgniter. class model extends CI_Model { function __construct() { // Call the Model constructor parent::__construct(); } public function getAll($debut=0) { return $this->db->select('*')->from('message')->order_by("id", "desc")->limit(30, $debut)->get()->result(); } public function count($where = array()) { return (int) $this->db->where($where)->count_all_results('message'); } } Puis nous allons créer notre contrôleur. ...

8 juin 2011 · 2 min · arnaud
murray-campbell-29990-unsplash

Installation et Configuration de CodeIgniter

Pré requis Un serveur Apache ( lamp, wamp, easy php, mamp, … ) Un SGBD mysql La Base de données Dans un premier temps voici un exemple de petite base de données. Par exemple la base de données suivante CREATE DATABASE `tuto` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci; USE `tuto`; CREATE TABLE IF NOT EXISTS `message` ( `id` int(8) NOT NULL AUTO_INCREMENT, `sujet` varchar(255) NOT NULL, `message` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; Maintenant que la base est prête nous alors configurer CodeIgniter pour qu’il puisse s’y connecter. Rendez-vous dans le fichier : application/config/database.php ...

4 juin 2011 · 3 min · arnaud