Applications MacOS X : 34% de choses inutiles ?

27 décembre 2008 § 10

En surfant sur la toile, je suis tombé sur le logiciel Xslimmer.

Le but de ce logiciel est d’alléger les applications installées sur votre Mac afin de gagner de l’espace disque, je ne manque pas de place, mais j’étais curieux de voir les capacités du logiciel.

xslimmer

J’ai donc sélectionné toutes les applications de mon Mac et il y a en tout 1.77 d’espace disque sur 4.95 GB d’applications qui peut être libérés. Soit quand même 34% ! Les fichiers supprimés correspondent aux fichiers destinés à d’autres architectures que celle utilisée sur votre système.

Enfin bref, le changement d’architecture sur les Macs n’a pas que du bon ;)

Comment ajouter plusieurs polices en une fois dans Mac OS X ?

26 décembre 2008 § 3

Parfois, Windows est un logiciel plus intuitif que Mac. Parfois…

Dans Windows (de 98 à Vista), pour ajouter des polices au système, il suffit d’en sélectionner plusieurs et ensuite de les glisser-déposer dans le dossier fonts de Windows. Une sur-couche à l’explorateur prend en charge la copie et l’installation des polices, en prenant le soin d’éviter les doublons et polices corrompues.

Dans Mac OS X, il est possible d’ajouter une police en double cliquant sur son fichier, on obtient alors une fenêtre avec un aperçu de ladite police et un bouton pour l’installer. Ce mode opératoire pratique pour 1 ou 2 polices trouve vite ses limites lorsqu’on souhaite ajouter plusieurs polices d’un coup… (Par exemple la série de Helvetica, très prisé par les graphistes dits du Web 2.0 !)

J’ai donc regardé rapidement si c’était possible de les ajouter directement via le Finder, chose possible, mais pas très propre. (fichier en cours d’utilisation, version existante, etc.)

C’est alors que j’ai vu une petite fonctionnalité sur le livre des polices de Mac OS X, autrement dit le gestionnaire de polices du système. Cette fonctionnalité permet d’ajouter plusieurs polices d’un coup dans le système en choisissant simplement le dossier contenant les polices à insérer.

 Livre des polices

Le bouton se situe en bas, au centre du logiciel comme le montre l’aperçu suivant ;)

J’ai mis pas mal de temps à trouver cette fonction (Google n’étant pas très coopératif sur le sujet), j’espère que cette astuce vous servira ;)

Alternatives à Windows Live Writer sous Mac ? Ecto, Mars Edit, Qumana, blogo !

20 août 2008 § 8

C’est bien quelque chose qui me manquait depuis mon passage à mac… un bon logiciel de publication pour blog…

Il en existe pourtant quelqu’un sur la plateforme à la pomme:

Le défaut majeur de ces logiciels par rapport à WLW, c’est qu’ils sont quasiment tous payant, excepté Qumana.

Qumana

Malheureusement pour Qumana, il est écrit en Java, et donc assez lourd à l’usage. Ajouter à cela qu’il est compatible Windows et Mac OS, et du coup très peu intégré aux 2 systèmes…

Bref pas la bonne solution à mon avis…

Mars Edit

Mars Edit, c’est le logiciel que je ne comprend pas, payant pas d’éditeur visuel, et les gens le recommandent… désolé j’ai du loupé quelque chose, mais je vois aucun intérêt à cet outil.

Blogo

Un peu space ce logiciel… L’éditeur visuel est un peu limité, il y a un mode plein écran assez sympa, permettant de se concentrer uniquement à la rédaction sans être perturbé par les e-mails, les IMs…

La gestion des images est également déroutante… bref question d’habitude et de gout ;)

Ecto

La v3 est un pur plaisir. Editeur visuel, une interface propre pour MacOS X, une gestion des médias très bien intégré.

La possibilité d’étendre les fonctionnalités via des addons… franchement ce logiciel me parait très prometteur :)

Pour le moment je le garde, je tenterai de faire un 2ème feedback dessus après quelques semaines d’utilisation !

Premier WordCamp Paris le 03 mai !

24 avril 2008 § 2

Comme vous le ne savez peut être pas ! WordPress Francophone organise le 1er WordCamp le 3 mai 2008 à Paris.

ScreenShot010

C’est quoi le WordCamp ?

Le WordCamp est un barcamp consacré à WordPress (logiciel libre de création et maintenance de blogs et sites dynamiques) ainsi que WordPress MU (version multi-blogs de WordPress), et est dédié à la communauté WordPress en France. C’est l’opportunité de se rencontrer, d’échanger, d’apprendre, dans le but de mieux maîtriser WordPress.

Ou et quand ?

Paris 2eme. La cantine

Le samedi 3 mai 2008 de 11h à 20h

Qui sera la ?

Plein de gens, la liste sur le wiki du barcamp. Il ne manque plus que vous :)

On y parle de quoi ?

De tout et de rien… J’animerai probablement 2 conférences.

  1. Le couple WordPress/bbPress
  2. Et probablement le tagging et WordPress avec Yann de WordPress-tuto 

Comment s’inscrire ?

Encore une fois, cela se passe sur la page du Wiki. (Xavier rappelle la méthode sur WP-FR)

Remerciements…

…aux différents sponsors:

Nous sommes toujours à la recherche de sponsors, n’hésitez pas à nous contacter via la page de contact.

Faire des requêtes sécurisées sous WordPress 2.5 ! Utilisation de la méthode $wpdb->prepare !

16 mars 2008 § 4

959811_88673421 Parlons un peu sécurité !

WordPress, comme tout logiciel informatique, est de plus en plus soumis a des attaques diverses et variées... Pour contrer ce genre de désagrément, WP utilise plusieurs mécanismes:

  • Gestion des droits
  • Un nouvel algorithme de cryptage des mots de passe pour WordPress 2.5
  • La gestion de "nonce" permettant de vérifier la provenance lors d'une action dans l'administration.

La grande nouveauté de cette version 2.5, c'est l'ajout d'une méthode permettant de protéger rapidement et efficacement les requêtes SQL d'une technique très remployées, j'ai nommé les injections SQL.

Avant WordPress 2.5, c'était un peu l'anarchie. En effet, chaque plugin dispose de son propre mécanisme de protection, plus ou moins efficace et plus ou moins testé...

Afin de remettre les choses a plats, les développeurs ont ajouté la méthode "prepare" à la classe d'accès a la base de données "wpdb".

Cette méthode bouscule les habitudes sur plusieurs aspects, pour bien comprendre le fonctionnement, je vais décortiquer une requête SQL de WordPress avec l'ancienne et la nouvelle méthode !

Ancienne méthode

Dans cet exemple, je vais prendre la requête SQL utilise lors de l'insertion d'un article dans la base de donnes. Cette requête permet de vérifier que l'identifiant de l'article (ou slug) est bien unique, le cas échéant WP rajoutera un suffixe mais peu importe... Le sens de la requête n'a aucun intérêt dans cette démonstration !

Voici la requête:

$post_name_check = $wpdb->get_var("SELECT post_name FROM $wpdb->posts WHERE post_name = '$post_name' AND post_type = '$post_type' AND ID != '$post_ID' AND post_parent = '$post_parent' LIMIT 1");

Note: vous pouvez trouver la requête dans le fichier "wp-includes/post.php", à la ligne 701.

Comme vous pouvez le constater, la requête fait appel à 4 variables dynamiques:

  • $post_name
  • $post_type
  • $post_ID
  • $post_parent

Ces variables sont des sources potentielles d'injections SQL... Pour être sûr de leur contenu, il est impératif de les sécuriser une par une... Cela implique plus de code... et surtout un code répétitif à souhait qui perd en lisibilité !

La nouvelle méthode !

Voici la même requête sous WP 2.5:

$post_name_check = $wpdb->get_var($wpdb->prepare("SELECT post_name FROM $wpdb->posts WHERE post_name = %s AND post_type = %s AND ID != %d AND post_parent = %d LIMIT 1", $post_name, $post_type, $post_ID, $post_parent));

Note: vous pouvez trouver la requête dans le fichier "wp-includes/post.php", à la ligne 1267.

Que remarquons-nous ?

  1. Avant d'effectuer la requête SQL (méthode "get_var"), nous utilisons la méthode "prepare"
  2. Nous n'avons plus de variables directement dans la requête SQL
  3. La méthode "prepare" fonctionne de la même façon que les fonctions PHP "sprintf" ou "printf" (chaînes formatées)
  4. Le nombre de paramètre de la méthode "prepare" est infini.
  5. Le code de la requête SQL est plus lisible

Comment ça marche ?

Dans le code de la requête SQL, à la place des variables PHP, nous plaçons des marqueurs. Ces marqueurs débutent toujours par un pourcentage.

  • %s pour une chaîne de caractère
  • %d pour un nombre entier
  • La suite des marqueurs sur php.net.

A ce moment de l'article, pour ceux qui ont tout compris, vous vous dites: "Quelles différences avec l'ancienne méthode, les marqueurs ont les mêmes inconvénients que les variables PHP..." et "Pourquoi faire une méthode prepare alors qu'il existe déjà la fonction PHP sprintf..."

C'est précisément ici que la méthode agit... Contrairement à la fonction sprintf, qui ne fait que remplacer bêtement les variables.

La méthode "prepare" passe par une étape intermédiaire, la sécurisation des variables:

  1. Suppression des quotes simples et doubles de la requête
  2. Ajout des guillemets entre les variables PHP pour respecter la syntaxe SQL
  3. Utilisation de la méthode "escape" pour protéger les variables des injections SQL

Conclusion

Vous l'aurez bien compris... L'intérêt majeur de cette fonction est de gagner du temps lors de la création des requêtes SQL ! (tout en les sécurisant)

Grâce à son fonctionnement "à la printf", le code de vos extensions gagnera en lisibilité, en légèreté, et la sécurité sera assurée...

Il ne reste plus qu'à attendre les nouvelles versions de vos extensions préférées pour WordPress 2.5 !

(Extensions = Plugins, préparez vous mentalement... C'est la nouvelle traduction française dans WordPress 2.5)

b2evolution et nginx : Comment résoudre le problème de redirection lors de la connexion à l’administration !

16 mars 2008 § 0

b2evo-logo-t Lorsqu'on utilise le logiciel de blog b2evolution, et le serveur HTTP Nginx, il se passe un petit bug lors de la connexion à l'administration.

En effet, une fois le login passé, le logiciel part dans une boucle infinie ! Et l'admin est inaccessible... Pas terrible pour blogger...

Pour résoudre ce petit bug, nous allons éditer le fichier admin.php se situant à la racine de b2evolution.

Et à la ligne 22, nous allons remplacer

if( ! empty( $_SERVER['PATH_INFO'] ) && $_SERVER['PATH_INFO'] != $_SERVER['PHP_SELF'] ) // the "!= PHP_SELF" check seems needed by IIS..

Par

if( ! empty( $_SERVER['PATH_INFO'] ) && $_SERVER['PATH_INFO'] != $_SERVER['PHP_SELF'] && 1 == 0 ) // the "!= PHP_SELF" check seems needed by IIS..

Avec cette petite modification, la condition n'est jamais remplie, l'administration fonctionne mais les anciennes url du type "/admin/plugins.php" ne seront plus rediriger vers "/admin.php".

Pour note, la variable PATH_INFO est différente de PHP_SELF, raison pour laquelle la condition est remplie et cela fait tout foirer :)

Mon diagnostic s'arrête la... faute de temps !

TechDays 2008 – Jour 1

12 février 2008 § 2

Et me revoilà replongé dans l’univers impitoyable des technologies Microsoft ! En effet, comme tous les ans, j’ai l’occasion d’aller au salon Microsoft Techdays a Paris.

C’est l’occasion de re-découvrir les technos d’aujourd’hui, mais aussi, et surtout de découvrir celle de demain !

Au menu de cette première journée :

  1. La session plénière
  2. IIS7 pour les développeurs
  3. Introduction a F#
  4. LINQ : Session avancée

Première journée orientée développement comme vous pouvez le constater… (ou pas)

1. La session plénière du lundi

Tradition oblige, chaque journée des Techdays commence par la traditionnelle session plénière dans l’amphithéâtre de 3723 places.

Cette session a comme objectif de faire le tour d’ensemble des nouvelles technologies de Microsoft en 2008, et en très très gros, comment ça marche, qu’est-ce que c’est… c’est surtout pour donner un aperçu, tout en sachant que des sessions plus techniques (et plus intéressantes) suivent le reste des 3 jours.

Nous avons également eu droit à un petit message vidéo du retraité le plus riche de la planète (Bill Gates), nous racontons comme d’habitude des choses incroyablement passionnantes. (Son nouveau téléphone est plus puissant que son premier PC, scoop non ?)

Bref, Bill a dit qu’on était en 2008 (c’est toujours bon a savoir), et que Microsoft nous fournissait des logiciels de notre époque, productivité, travail collaboratif, tout ça…

2. IIS7 pour les développeurs

Première vraie session de mes TechDays 2008, une session sur le serveur HTTP de chez Microsoft, IIS7 ! Cette session était un peu particulière pour moi, vu qu’elle était présentée par mon camarade SUPINFO et ami Sebastien Warin (sa toute première fois :D). Pour cette conférence, il était accompagné de Sebastien Bovo de chez Microsoft France.

Autrement dit, je connaissais déjà un peu le sujet avant de venir à cette session. J’ai donc joué au photographe avec des appareils photos compacts… et mon dieu… qu’est-ce que j’aime mon reflex… a quand le reflex qui rentre dans une poche de chemise…

Le voilà en image (une des rares photos pas flous), Sebastien Warin, Speaker Techdays 2008.

S7300139

Il est précisément en train de se demander pourquoi sa démo ne marche pas :) (ou ptete qu’il découvrait les slides :D)

Trêve de plaisanterie, les 2 Sébastien nous ont montrés en démo, les nouveautés apportées par IIS7, qui sont en gros:

  • Modularité a 100%
  • Configuration via XML a 100%
  • Intégration a la plateforme .NET à 100%
  • Gain « probable » de performances grâce à la modularité par exemple :)

Pour le résumé de la session, c’est par ici: IIS7 pour les développeurs

Pour allez plus loin (en attendant les Webcasts) :

3. Introduction a F#

Pour cette seconde session, j’ai assisté à une présentation, en anglais, du langage F#, animé par Don Syme, qui n’est qu’autre que son concepteur.

Pour résumé, le F# est:

un langage dérivé de Caml et conçu spécifiquement pour la plateforme .NET. C’est un langage fonctionnel (et incitant ce mode de programmation), entièrement orienté objet (même les entiers sont des objets et peuvent avoir des méthodes) et supportant la programmation impérative.

Source: Présentation de F#

C’est très intéressant, très complexe, très différent aux habitudes de développement habituelles. Je m’explique…

De nos jours, un scientifique met au point un algorithme très complexe. Super, mais comme vérifier et exploiter les résultats ?

Et bah il faut faire appel a des développeurs qui vont interprète l’algorithme pour le passer en langage « machine », comprendre en python, en C#, en Java, etc.

Le F# tend vers l’élimination de cet intermédiaire. En proposant des langages de développement plus fonctionnel, et donc plus accessibles à des scientifiques… à des experts financiers, etc.

Rien d’innovant, sauf que F# conserve toute l’intégration de la plateforme .NET… Les librairies .NET, la programmation-objet, et tous les outils de développements Microsoft. D’où l’intérêt…

C’est un sujet très intéressant, je vous conseille vivement de consulter le site de Laurent Le Brun’s qui propose des cours de F#.

Il y a plein de choses à découvrir…

4. LINQ : Session avancée

Pour finir cette journée, j’ai assisté à une session de Mitsu. Il nous a parlé de choses un peu complexes avec la technologie de requetage Linq.

C’est quoi Linq ? Linq c’est une nouveauté apportée par le C# v3. Cela permet d’exécuter des requêtes « SQL », dans différentes sources de données, jusque-là rien de nouveau ! Mais là où Microsoft fait fort, c’est qu’on peut faire du Linq depuis du XML, des bases SQL serveur, mais aussi depuis des collections d’objets !

C’est trop le genre de truc à implémenter en PHP :P

Je ne m’attarde pas plus sur Linq, vu que le produit été déjà présenté au TechDays 2007 ! (c’est tout sauf une découverte).

Le mot de la fin

2 photos faites depuis une terrasse sur le toit du palais des congrès (ou apparemment Seb est plus dans son élément…). Il fait beau, pas trop froid, y’a une belle vue… Que demander de plus pour décompresser du rush permanent de ce salon ;)

S7300143 S7300146

Technorati: techdays 2008

La tabulation lors d’une copie avec l’éditeur de texte VIM ! Solution…

24 janvier 2008 § 2

200px-Vim-(logiciel)-Logo Vous avez déjà essayé de copier un code indenté via l’éditeur VIM ? (par le biais de Putty par exemple)

C’est l’enfer non ?

Pour ceux qui n’ont jamais expérimenté, Vim a tout simplement l’habitude de rajouter des espaces aléatoires sur chaque ligne du texte copiés, bref c’est illisible…

J’ai donc effectué quelque recherche sur le Web et j’ai trouvé la modification à effectuer sur la configuration de VIM.

Pour cela, il vous faut éditer le fichier: (pour Debian Etch)

vim /etc/vim/vimrc

Pour ajouter à la fin du fichier le code suivant:

set paste

C’est déjà terminé ! Vous également décommenter la ligne:

syntax on

Pour profiter de la coloration syntaxique dans VIM ;)

Et les copier/coller redeviennent un jeu d’enfant ;)

Where Am I?

You are currently browsing entries tagged with Logiciel at Here With Me.