Développement
Carla Bruni ou 132 756 euros pour quelques pages d’un WordPress
Ce n’est pas le rôle de Numerama d’évoquer des affaires sans lien avec le numérique, comme l’affaire Carla Bruni mise au jour par Frédéric Martel dans un article publié par Marianne. Les soupçons qui pèsent sur la Première dame de France et sa Fondation sont loin de l’univers que nos commentons quotidiennement. Sauf lorsqu’une partie touche à Internet, et qu’elle nous fait bondir.
Dans un article publié vendredi, Mediapart révèle que le Fonds mondial de lutte contre le sida a versé 132 756 euros à une entreprise baptisée La Fabrique du Net, « pour réaliser la partie « lutte contre le sida » du site Carlabrunisarkozy.org« . De quoi nous donner l’envie de creuser…
Cette société, comme toute bonne entreprise spécialisée dans le web, ne semble pas avoir son propre site internet. Il s’agit d’une SARL unipersonnelle fondée en 2009 et gérée par son associé unique, Jérôme Blouin. Un professionnel de la pub et du marketing qui a fait ses armes principalement chez FKGB et Heaven/Edelman. L’homme de 38 ans apparaît aux côtés de Carla Bruni-Sarkozy sur une photographie prise à l’occasion du concert donné à Londres par Paul McCartney en juin 2010 :
import.php: Missing parameter: import_type (FAQ 2.8)
import.php: Missing parameter: format (FAQ 2.8)
Voilà, suite à une mise à jour (de Plesk ou autre), votre phpMyAdmin ne fonctionne plus. à chaque requête, vous avez ce message d’erreur SQL :
import.php: Missing parameter: import_type (FAQ 2.8)
import.php: Missing parameter: format (FAQ 2.8)
Très embêtant (même si MySQL fonctionne parfaitement et qu’il est préférable de toute façon de bannir phpMyAdmin au profit d’un client lourd (pour des raisons de sécurité).
Pour résoudre cette erreur, vous devez changer un fichier de session dans le repertoire phpmyadmin :
cd /opt/psa/admin/htdocs/domains/databases/phpMyAdmin/libraries/
mv session.inc.php session.inc.php-old
wget http://download1.swsoft.com/Plesk/Autoupdate/Windows/8.1.1.2/120220/session.inc.php
/etc/init.d/psa restart
Voilà. C’est tout simple. Mais comme j’ai eu du mal à trouver la solution, je vous en fais profiter.
Dennis Ritchie, le génie de l’informatique mort en toute discrétion.
Le décès de l’informaticien et inventeur inspiré du langage C et d’Unix est presque passé inaperçu quelques jours après celui de Steve Jobs.
Il était l’un des plus grands informaticiens de l’histoire, sinon le plus grand. Dennis Ritchie aurait mérité les honneurs de la planète entière, mais il est décédé dans l’indifférence, au moment où tout le monde parlait de la disparition de Steve Jobs, qui avait succombé quelques jours plus tôt à un cancer. Pas une seule dépêche n’a évoqué son nom. Pourtant, la plupart des ordinateurs, mais aussi des smartphones, des tablettes, des GPS, des modems, des routeurs ou même certains Frigidaire lui doivent la vie. Créateur du langage de programmation C et cocréateur d’Unix (avec Kenneth Thompson) sans qui Linux, MacOS, iOS at Android, pour ne citer que les plus connus, n’éxisteraient pas, il est à l’origine de l’informatique moderne qui, sans lui, aurait un visage totalement différent.
Né en 1941 dans l’État de New York, Dennis Ritchie se consacre très vite à sa passion : l’informatique. Dans les années soixante, cela signifie passer des journées dans de gigantesques salles, où des ordinateurs pharaoniques tiennent à peine. On est loin de la miniaturisation et de l’ordinateur personnel. Suivant les pas de son père, Dennis Ritchie rejoint Bell Labs en 1967, un an avant de soutenir sa thèse à Harvard. Il ne quittera jamais ces laboratoires, malgré des changements profonds dans les structures : Bell est passé entre les mains de l’opérateur américain AT&T, puis a rejoint la nouvelle filiale Lucent, avant de fusionner avec Alcatel au sein d’Alcatel-Lucent.
Lire la suite de cette entrée »
Angry Birds en HTML5 sur votre ordinateur.
Vous adorez vous défouler sur Angy Birds, Angry Birds Season ou Angry Birds RIO sur votre smartphone Android ? Alors vous allez aimer : les développeurs de Rovio ont porté Angry Birds en HTML5 (+WebGL+Canvas) sur le navigateur Google Chrome (mais ça fonctionne aussi sur Firefox4 donc ça devrait fonctionner sur les autres butineurs compatibles HTML5). Pour le moment, il y a 2 niveaux disponibles… Le premier qu’on retrouve sur toutes les version d’Angry Birds et un niveau spécial Google Chrome !
Lire la suite de cette entrée »
Sécuriser Apache contre les injections SQL, les DDOS et d’autres attaques
Installation et configuration de mod_security
Sous Fedora/Centos
yuminstallmod_security
Ensuite toutes les règles se trouvent dans le dossier /etc/httpd/modsecurity.d/
modsecurity_crs_10_config.confmodsecurity_crs_20_protocol_violations.conf
modsecurity_crs_21_protocol_anomalies.confmodsecurity_crs_23_request_limits.confmodsecurity_crs_30_http_policy.confmodsecurity_crs_35_bad_robots.confmodsecurity_crs_40_generic_attacks.confmodsecurity_crs_45_trojans.confmodsecurity_crs_50_outbound.confmodsecurity_localrules.confoptional_rules
ls/etc/httpd/modsecurity.d/optional_rules/modsecurity_crs_20_protocol_violations.confmodsecurity_crs_21_protocol_anomalies.confmodsecurity_crs_40_generic_attacks.confmodsecurity_crs_42_comment_spam.confmodsecurity_crs_42_tight_security.confmodsecurity_crs_55_marketing.conf
ls/etc/httpd/modsecurity.d/
Dans le fichier modsecurity_crs_10_config.conf, vérifier que SecRuleEngine est bien sur On
Commenter les directives suivantes:
#SecServerSignature "Apache/2.2.0 (Fedora)"
#SecComponentSignature "core ruleset/1.6.1"
Puisqu’Apache se charge deja de cacher tout ca.
Modifier la directive suivante de cette manière:
SecUploadKeepFiles RelevantOnly
Relancer httpd
/etc/init.d/httpd graceful
Vous pouvez jeter un coup d’oeil dans les fichiers conf pour voir tout ce qui va être sécurisé, c’est énorme!
Lire la suite de cette entrée »
Guide des références graphiques de l’administration WordPress
Admin UI Reference Guide est une extension regroupant l’ensemble des références graphiques de l’administration d’un blog WordPress. Il indique le code à utiliser selon le type de contenu que vous souhaitez intégrer à la page d’options de votre thème ou de votre extension. Il affiche également quelques exemples graphiques de ce que le code donne une fois exécuté. Pour le moment, l’extension – dans sa page d’options- regroupe les titres, icônes, tableaux, bloc et le glisser-déposer de blocs. Un bref récapitulatif :
La base
Avant de commencer à intégrer certains éléments, il est nécessaire de préciser que ces éléments doivent être insérés dans une « div » prédéfini par WordPress. Cela est presque obligatoire pour bénéficier des bonnes dimensions, des styles et pour optimiser l’affichage de votre page d’options ou autre. Dans un premier temps, collez ce bout de code. Par la suite, collez les éléments cités à la place des trois petits points.
<div class="wrap"> ... </div>
Le glisser-déposer
Si vous souhaitez créer une page d’options WordPress pour votre thème ou votre extension, il peut être necessaire d’ajouter des blocs qui peuvent changer de place via un simple glisser-déposer. Pour cela, il vous suffit de coller le code suivant en y ajoutant vos paramètres et vos différents blocs.
<div id="poststuff" style="width:250px;">
<div>
<div id="linksubmitdiv" style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; display: block; ">
<div title="Cliquer pour masquer"><br /></div>
<h3 class=\"hndle\"><span>Mon titre</span></h3>
<div>
<p>Un exemple</p>
</div>
</div>
<div id="linksubmitdiv" style="margin:10px 0;">
<div title="Cliquer pour masquer"><br /></div>
<h3 class=\"hndle\"><span>Sauvegarder</span></h3>
<div>
<div id="major-publishing-actions">
<div id="publishing-action">
<input name="save" type="submit" id="publish" value="Ajouter un lien"/>
</div>
<div></div>
</div>
</div>
</div>
</div>
</div>
Lire la suite de cette entrée »
Apache – Les fichiers .htaccess
Les fichiers .htaccess sont des fichiers de configuration d’Apache, permettant de définir des règles dans un répertoire et dans tous ses sous-répertoires (qui n’ont pas de tel fichier à l’intérieur). On peut les utiliser pour protéger un répertoire par mot de passe, ou pour changer le nom ou l’extension de la page index, ou encore pour interdire l’accès au répertoire.
Intérêt des fichiers htaccess
Les fichiers .htaccess peuvent être utilisés dans n’importe quel répertoire virtuel ou sous-répertoire.
Les principales raisons d’utilisation des fichiers .htaccess sont :
- Gérer l’accès à certains fichiers.
- Ajouter un mime-type.
- Protéger l’accès à un répertoire par un mot de passe.
- Protéger l’accès à un fichier par un mot de passe.
- Définir des pages d’erreurs personnalisées.
Principe des fichiers htaccess
Le fichier .htaccess est placé dans le répertoire dans lequel il doit agir. Il agit ainsi sur les permissions du répertoire qui le contient et de tous ses sous-répertoires. Vous pouvez placer un autre fichier .htaccess dans un sous-répertoire d’un répertoire déjà contrôlé par un fichier .htaccess.
Le fichier .htaccess du répertoire parent reste en « activité » tant que les fonctionnalités n’ont pas été réécrites.
Les fonctionnalités de ces fichiers étant très puissantes, lisez bien ce tutorial avant de vous lancer dans la création des vôtres.
Sous Windows, il est logiquement impossible de créer un fichier .htaccess, puisque Windows ne vous autorisera pas à sauvegarder le fichier tel quel. Voici la démarche à suivre :
- Créer un fichier texte « fichier.htaccess »
- Renommer le fichier en supprimant « fichier »
Lire la suite de cette entrée »
Got a packet bigger than ‘max_allowed_packet’
J’ai eu ce message d’erreur alors que j’essayais d’importer un dump da ma base MySQL.
Donc voila, ce message arrive quand … quand on un packet qui est bigger qu’il a le droit de l’être. Oui, c’est vague, mais j’en sais pas beaucoup plus pour être franc (je n’ai pas trop cherché, j’avoue…).
Enfin, pour être plus précis, pour moi, c’est arrivé lors d’une tentative d’import (en ligne de commande) d’une base de données qui contenait un sacré paquet de blob.
Donc, l’astuce consiste a ouvrir deux terminaux en parallèle.
Dans le premier, on se connecte a mysql (mysql -u root -p), puis tapez :
set global max_allowed_packet=1000000000;
set global net_buffer_length=1000000;
Laissez le terminal ouvert, et restez connecté a mysql.
Dans l’autre terminal, vous pouvez maintenant lancer votre import :
mysql -p -h localhost nouvellebase < anciennebase.sql
Voilà, le tour est joué.
Le langage PHP sur Android
Il y a quelques temps, Google communiquait sur leur projet ASE pour Android Scripting Environment. Cet outil permet d’éditer et d’exécuter des script dans différents langages (Python, Perl, JRuby, Lua, BeanShell, JavaScript, Tcl…). Une page existe sur le wiki qui n’attend plus que les contributions des motivés. Ce projet, en licence Apache, permet de facilement s’ouvrir à d’autres langages. C’est le cas du projet PHP for Android.
Le projet est développé par la société Ironic. Il va permettre, à terme, de développer de véritables applications Android depuis ce langage. Pour cela, une API permet d’utiliser les éléments d’interface standards de Android. De plus, l’équipe travaille à la possibilité de partager ces applications comme de simples apk Android.
Pour l’instant, c’est peu fourni en fonctionnalités et ne permet pas de faire beaucoup plus que des programmes dans la console PHP. Pour vous donner une idée de l’état du projet, l’équipe de développement vous propose une petite vidéo de l’installation et de 3 programmes de base.
Lire la suite de cette entrée »






Hacks CSS et commentaires conditionnels
La solution pour pallier à tous ces problèmes de compatibilité en Javascript est l’utilisation d’un framework, qui a l’avantage d’être compatible avec de nombreux navigateurs et qui vous simplifie par la même occasion grandement le code. Nous pouvons par exemple citer les frameworks MooTools et jQuery.
En CSS en revanche, les choses sont un peu plus difficiles. En effet, il n’existe pas réellement de framework (si ce n’est pour mettre grossièrement en page votre site). Et il arrive très souvent de déceler des écarts importants, des chevauchements inesthétiques, des couleurs qui varient (si, si, ça arrive !), etc. Comment faire ? Eh bien, il existe essentiellement 2 méthodes.
Hacks CSS
Cette technique consiste à jouer sur les différences d’interprétation des navigateurs. Ainsi, il sera possible de donner une règle pour un navigateur uniquement (par exemple IE7), sans que les autres n’arrivent à la comprendre. Ainsi, seul le navigateur concerné l’appliquera.
Souvent, les développeurs considèrent cette méthode comme « sale ». Et pour cause, jouer avec les libertés très particulières offertes par rapport aux normes est plutôt dangereux. Imaginez une mise à jour qui modifie ce comportement. Outre le fait que vous ne serez pas forcément prévenu dès le départ (la veille technologique ayant ses limites), il va falloir répondre très rapidement à ce changement, afin que celui-ci soit le moins visible pour vos visiteurs.
Voici une liste de hacks pour les navigateurs les plus courants. Ici, on appliquera une couleur de fond différente pour chaque navigateur. Par défaut, elle est argentée.
Lire la suite de cette entrée »