MozFR

Mozilla Francophone

BrowserID

Pierre Rudloff, 16/05/2012 | Source: Blog technique de MozFR

De plus en plus de sites utilisent des systèmes de connexion sans mot de passe comme Facebook Connect ou OpenID. Ces systèmes permettent à l'utilisateur de se connecter rapidement en un ou deux clics.

Mozilla a sorti il y a quelque temps BrowserID[1], un système de connexion similaire, simple à mettre en place et peu contraignant pour l'utilisateur puisqu'il suffit de fournir une adresse e-mail valide pour se connecter.

L'intérêt d'un tel système est de permettre aux utilisateurs de se connecter rapidement sans avoir à taper leur mot de passe à chaque fois. De plus, il simplifie pour vous la gestion des comptes et renforce la sécurité de votre site puisque vous n'aurez pas à stocker les mots de passe de vos utilisateurs.
L'autre intérêt de BrowserID, c'est que contrairement aux autres systèmes qui transmettent tout un tas d'information sur l'utilisateur[2], BrowserID n'utilise lui que l'adresse e-mail et ne piste pas l'utilisateur[3].

Ce système est relativement facile à intégrer à un site web. Cependant, sachez qu'il vous faudra quand même de bonnes bases en PHP et en JavaScript. Si ce n'est pas votre cas, sachez qu'il existe tout un tas de plugins pour des CMS comme Drupal, SPIP ou WordPress.

Côté client, il suffit de charger le script include.js[4] et de lier la fonction navigator.id.get au clic du bouton de connexion.

Exemple en JavaScript :

var login, connect, loginBtn;
login = function (assertion) {
"use strict";
if (assertion) {
document.location = "login.php?assertion=" + assertion;
}
};
connect = function () {
"use strict";
navigator.id.get(login);
};
loginBtn = document.getElementById("login");
if (loginBtn.addEventListener) {
loginBtn.addEventListener("click", connect, false);
} else if (loginBtn.attachEvent) {
loginBtn.attachEvent("onclick", connect);
}

Exemple avec jQuery :

/*global $*/
var login, connect;
login = function (assertion) {
"use strict";
if (assertion) {
document.location = "login.php?assertion=" + assertion;
}
};
connect = function () {
"use strict";
navigator.id.get(login);
};
$(".loginBtn").bind("click", connect);

Quand l'utilisateur cliquera sur le bouton, une fenêtre va s'ouvrir et lui demander d'entrer son adresse e-mail. Si c'est la première fois qu'il utilise BrowserID, il devra la valider (en cliquant sur un lien dans un mail) et sinon, il pourra se connecter directement.

BrowserID Screenshot

Une fois que l'utilisateur a validé sa connexion, le script envoie une assertion (un hash contenant les informations de connexion) à la page indiquée (login.php dans l'exemple ci-dessus). Il faut donc récupérer cette assertion côté serveur et la renvoyer au serveur de BrowserID qui va vérifier qu'elle est valide.
L'assertion doit être envoyée à https://browserid.org/verify avec une requête POST. Le serveur renvoie ensuite un objet JSON contenant l'adresse e-mail de l’utilisateur et l'état de la connexion.

Exemple en PHP avec curl :

$url = "https://browserid.org/verify";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt(
$curl, CURLOPT_POSTFIELDS, "assertion=".strval(
$_GET["assertion"]
)."&audience=".$_SERVER["HTTP_HOST"]
);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$response=json_decode(strval(curl_exec($curl)));
curl_close($curl);
if ($response->status==="okay") {
//C'est bon
echo "Vous êtes connecté en tant que ".$response->email.".";
} else {
//C'est pas bon
echo "Erreur : ".$response->reason;
}

Exemple avec jQuery :

/*global $*/
function login(assertion) {
"use strict";
$.ajax({
type: "POST",
url: "https://browserid.org/verify",
data: {
assertion: assertion
},
success: function (res) {
var response = JSON.parse(res);
if (response.status === "okay") {
alert(response.email);
} else {
alert("Erreur : " + response.reason);
}
}
});
}

Et voilà, c'est tout. Si le statut est okay, vous n'avez plus qu'à ouvrir une session pour le compte qui utilise cette adresse e-mail.

Vous trouverez ici une petite démonstration qui montre comment se passe la connexion. (Le code de la démo est disponible sur le serveur SVN de StrasWeb.)

Notes

[1] Le projet est en train d'être renommé Persona, plus d'informations ici.

[2] Par exemple, Facebook Connect transmet toute une partie des informations du profil Facebook (nom, sexe, photo, liste d'amis, etc.) à chaque site auquel vous vous connectez.

[3] Pour l'instant, l'adresse e-mail et le domaine sont transmis à browserid.org à chaque connexion, mais, à terme, le système devrait être décentralisé.

[4] Le système est implémenté en JavaScript mais il est prévu à terme de l'implémenter directement dans Firefox.

SeaMonkey 2.10 bêta 1

Mozinet, 15/05/2012 | Source: BlogZiNet

Après un retard dû à des problèmes d’infrastructures, le projet SeaMonkey publie la première version bêta de SeaMonkey 2.10, bâtie sur la même plateforme que Firefox 13. SeaMonkey 2.9 contiendra, selon ses notes de diffusion, les nouveautés suivantes par rapport à SeaMonkey 2.9 :

Changements spécifiques à SeaMonkey

  • Le nom de domaine est désormais mis en évidence par défaut dans la barre d’adresse, configurable dans les préférences.
  • Le nombre d’onglets à restaurer en même temps peut désormais être configuré dans les préférences.
  • Les boîtes de dialogue d’authentification des nom d’utilisateur et mot de passe des groupes de discussion ont été combinées et montrent désormais pour quel serveur est l’invite.

Changements de la plateforme Mozilla

  • La version minimum supportée de Windows est désormais XP SP2, le support de Windows 2000 a été abandonné.
  • Le protocole SPDY est désormais activé par défaut pour une navigation plus rapide sur les sites supportés.
  • La propriété CSS column-fill a été implémentée.
  • Le support expérimental des objets ECMAScript 6  Map et Set a été implémenté.
  • Le support de la syntaxe étendue de la propriété CSS3 background-position a été ajouté.
  • La pseudo-classe :invalid peut désormais être appliquée à l’élément <form>.
  • L’unité CSS d’<angle> turn est désormais supportée.
  • Correction de plusieurs problèmes de stabilité.

La page des nouveautés dans SeaMonkey 2.10 des notes de diffusion mentionnent d’autres corrections de bogues intéressantes propres à SeaMonkey. Pour davantage de renseignements sur les bogues corrigés et les nouveautés de ce train de sorties, voir la liste de bogues corrigés dans Firefox 13.0 et les notes de diffusion de Thunderbird 13.0 (changements majeurs uniquement).

SeaMonkey 2.10 bêta 1 est disponible en maintenant 26 langues dont toujours le français, gratuitement et librement pour Windows, Mac OS X et Linux.

Télécharger SeaMonkey 2.10 bêta 1 en français

© 2010-2012 Mozinet - Ce billet a été publié sur BlogZiNet.

La boîte à outils du développeur Web : Raphael

Jérémie, 15/05/2012 | Source: Blog technique de MozFR

Cet article est le premier d'une série d'articles dédiés aux bibliothèques utiles que tout développeur Web devrait avoir dans sa boîte à outils. Le but est de montrer ce que ces bibliothèques sont capables de faire et comment les utiliser à leur plein potentiel. Ce premier article va vous présenter la bibliothèque Raphael. Il est également disponible en anglais sur hacks.mozilla.org.

Introduction

Raphael est une bibliothèque créée par Dmitry Baranovskiy qui fait partie des Sencha Labs.

L'objectif de cette bibliothèque est de simplifier l'usage du dessin vectoriel sur le Web. Raphael s'appuie sur le standard SVG du W3C (qui est très bien supporté par tous les navigateurs modernes) et utilise le langage VML de Microsoft pour pouvoir supporter les vieilles versions d'Internet Explorer. Elle essaye également d'harmoniser certains problèmes d’implémentation de SVG comme les animations SVG. En conséquence, Raphael est une excellente couche d'abstraction pour produire des dessins vectoriels qui déchirent sur le Web.

Utilisation de base

Cette bibliothèque dispose d'une excellente documentation agrémentée de nombreux exemples, n'hésitez pas à l'utiliser de manière intensive.

L'exemple suivant va permettre de dessiner un simple cercle rouge à l’intérieur de l'élément HTML ayant l'identifiant "myPaper".

// Cet exemple crée une zone de dessin
// de 100px de large par 100px de haut.
// Cette zone est créée dans le coin haut/gauche
// de l'élément #myPaper (ou le coin haut/droit
// si l'élément a l'attribut dir="rtl")
var paper = Raphael("myPaper", 100, 100);

// Le cercle aura un rayon de 40
// et son centre sera aux coordonnées 50,50
var c = paper.circle(50, 50, 40);

// Le cercle sera rempli en rouge
// Notez que le nom des propriétés du
// cercle suit la recommandation SVG
c.attr({
    fill: "#900"
});

Utilisation avancée

En dépit du fait que Raphael limite les possibilités offertes par SVG (principalement à cause des limites intrinsèques du langage VML) il permet de faire des trucs assez avancés :

  • Transformations matricielles avancées
  • Gestion des événements avancée
  • Animation multi-navigateur
  • Un système simple de Drag'n'Drop
  • Détection d'intersection de chemin

Raphael dispose également d'un système d'extensions qui vous permet de créer vos propre méthodes personnalisées.

Par exemple, voici une extension qui permet de créer des camemberts :

/**
 * Pie method
 *
 * cx: Position en x du centre de rotation
 * cy: Position en y du centre de rotation
 * r : rayon
 * a1: angle (en degrés) du début du camembert
 * a2: angle (en degrés) de la fin du camembert
 */
Raphael.fn.pie = function (cx, cy, r, a1, a2) {
    var d, flag = (a2 - a1) > 180;

    a1 = (a1 % 360) * Math.PI / 180;
    a2 = (a2 % 360) * Math.PI / 180;

    d = [
        // Placement de l'axe de rotation
        "M", cx, cy,

        // Déplacement jusqu'au début la courbe
        "l", r * Math.cos(a1), r * Math.sin(a1),

        // Dessin de la courbe
        "A", r, r, "0", +flag, "1",
        cx + r * Math.cos(a2), cy + r * Math.sin(a2),

        // Fermeture du chemin
        "z"
    ];

    return this.path(d.join(' '));
};

Vous remarquerez dans cet exemple qu'il est nécessaire d'être familier avec la syntaxe des chemins SVG (Raphael fera la conversion vers VML de manière transparente) mais une fois que c'est fait, vous pouvez l'utiliser comme n'importe quelle autre primitive disponible dans Raphael. Vous pouvez voir cette extension à l’œuvre sur jsFiddle :

Limites et précautions

Si vous n'êtes pas familier avec SVG ou si vous souhaitez supporter les vieilles versions d'Internet Explorer, cet outil est fait pour vous. Cependant, il s'agit d'une bibliothèque JavaScript ce qui signifie que vous devez connaître ce langage pour pouvoir vous en servir. De même, vous ne pouvez pas directement écrire du SVG et demander à Raphael de le parser et de l'interpréter (il existe d'autres bibliothèques pour ça). 

Du point de vue du support navigateur, Raphael dispose d'un large éventail. Il supporte Firefox 3.0+, Safari 3.0+, Chrome 5.0+, Opera 9.5+ et Internet Explorer 6.0+.
En fait, le seul navigateur qui ne puisse pas bénéficier de Raphael est le navigateur natif pour Android 1.x et 2.x (ainsi bien sur que certains navigateurs pour "feature phone"). Cela vient du fait que ces navigateurs ne supportent aucune technologie de dessin vectoriel. Android ne commence à supporter (partiellement) SVG qu'à partir d'Android 3.0. Faites donc attention si vous prévoyez de travailler avec des terminaux mobiles.

Conclusion

Raphael est la première bibliothèque qui a permis aux développeurs et designers Web d'utiliser largement SVG. Si vous voulez créer de belles applications sans vous plonger dans l'API DOM de SVG ou si vous avez une contrainte liée au support de vieux navigateurs, cette bibliothèque vous offrira de nombreuses possibilités.

Pour finir, voici quelques exemples d'utilisation assez cools de Raphael:

Chapeau le Dino !

clarista, 13/05/2012 | Source: Bonjour Mozilla

mozilladinohat
(Photo : Firefox_Photos)

Décidément, quel talent ! Après le beanie, Janet Swisher a tricoté un nouveau bonnet charmant : un passe-montagne en forme de dinosaure Mozilla. 

Bonjour Janet, et bravo !


Once again, what an impressive talent! After the beanie, Janet Swisher has knitted another lovely hat: a Mozilla-dinosaur shaped balaclava.

Bonjour Janet, and bravo!

Mozilla Firefox 15 : attention, ça va chambouler ;)

Frederic Bezies, 11/05/2012 | Source: Le Weblog de Frederic Bezies

Mozilla Firefox 15 est la version qui sortira fin août prochain dixit la feuille de publication disponible sur le blog d’Asa Dotzler proposera une version amélioré des options / préférences.

Le projet d’amélioration, connu sous le nom de « In Content Preferences », bien qu’encore incomplet est disponible sur les versions nocturnes à compter du 10 mai 2012. Cette page web décrit les détails techniques de cet ajout et sa conception, même s’il reste du travail avant que le code ne soit disponible pour le grand public.

Si vous êtes curieux et vous voulez voir de vos propres yeux cette nouvelle interface, il suffit d’avoir une version nocturne récente, et d’entrer : « about:config » (sans les guillemets) dans la barre d’adresses.

Ensuite, il faut mettre sur « true » la valeur : browser.preferences.inContent

Voici une petite vidéo qui montre la nouvelle présentation des options / préférences.

J’avoue que cela est intéressant de voir un tel changement, surtout quand on utilise des environnements de bureau comme KDE, Gnome Shell qui propose des interfaces ressemblantes. A creuser donc ;)

Si vous avez toujours rêvé de contribuer au projet Thunderbird, saisissez votre chance

ambourcier, 10/05/2012 | Source: Mozilla Francophone

(ce billet est une traduction de Go grab one, article écrit par l'équipe de développement de Thunderbird)

Nous avons le plaisir d'annoncer le lancement du projet Up for Grab. L'idée est toute simple : il y a de nombreuses fonctionnalités que nous aimerions voir implémentées dans Thunderbird mais nous manquons cruellement de ressources pour les développer. Nous avons donc décidé d'ouvrir un espace commun, où n'importe qui peut aller piocher un sujet et le développer. Vous allez ainsi avoir l'opportunité de travailler directement avec les personnes clés de l'équipe Thunderbird qui vous guideront et vous soutiendront tout au long du développement.

Et vous savez quoi ? Ce n'est pas réservé aux développeurs. Tout le monde peut contribuer en fonction de ses propres atouts : conception d'interface, localisation, contrôle de la qualité, test, rédaction de documentation... C'est votre chance d'apporter votre pierre à l'édifice et de faire avancer Thunderbird.

Si vous avez toujours rêvé de contribuer au projet et que vous ne saviez pas comment l'aborder, c'est votre chance. Saisissez-la !

Bonjour WoMoz : les femmes au pouvoir en Pologne !

clarista, 10/05/2012 | Source: Bonjour Mozilla

aviary

(Photo : Hubert Gajewski)

Trop la classe ! La communauté Mozilla en Pologne vient d’élire son nouveau bureau, et comme vous pouvez le constater, il est composé au deux tiers de femmes ! De gauche à droite : Sara Prussak, Bartosz Piec, et Joanna Mazgaj, l’un des membres émérites de WoMoz, qui a tenu à signaler ce fait d’armes. Bravo donc à la Pologne pour nous montrer la voie ! Longue vie à ce nouveau bureau, et à la communauté Mozilla Pologne qui compte une vingtaine de personnes, dont plusieurs sont également membres de WoMoz. Bonjour Mozilla ne manquera pas de vous présenter, séparément, certains de ses membres.

Bonjour la Pologne !


So cool! The Mozilla Polish community has just elected its new board members, and as you can see, it consists in two thirds of women! From left to right: Sara Prussak, Bartosz Piec, and Joanna Mazgaj, an experienced WoMoz member, wished to point out that this feat of battle. Congratulation to Poland for showing us the way! Long live the new office, and the Polish Mozilla community and its score of people, many of whom are also members of WoMoz. Bonjour Mozilla will take care to present, individually, some of its members.

Bonjour Poland!

Vive les mariés !

clarista, 09/05/2012 | Source: Bonjour Mozilla

mariés

Mais qu’ils sont beaux ! Bonjour Mozilla leur décerne officiellement le titre de Mariés de l’Année ! Ludovic et Zola sont désormais mari et femme, et cela leur va bien ! Tous nos vœux de bonheur à ce merveilleux couple !

Bonjour les mariés !


Aren’t they beautiful? Bonjour Mozilla officially award them the title of Bride and Groom of the Year! Ludovic and Zola are now man and wife, and it suits them very well! Our best wishes to this wonderful couple!

Bonjour married couple!

Firefox : versions et chronologie

Mozinet, 08/05/2012 | Source: BlogZiNet

Dans la lignée de mes billets Quelle version de Firefox choisir, Robert Nyman, sur le blog des développeurs de Mozilla, Mozilla Hacks, nous présente les canaux de développement de Firefox et la chronologie des différentes versions de Firefox avec de belles infographies :


Firefox et les canaux de version

Quand nous rencontrons et parlons aux gens, il y a souvent des questions sur Firefox, sur comment le calendrier de sorties fonctionne et quels sont nos différents canaux pour les tests. Par conséquent, je tiens à vous les présenter/rappeler et vous permettre également de savoir où les tests sont les plus important, à la fois pour vous et pour nous.

Les canaux de version de Firefox

Fondamentalement, nous avons quatre différents canaux de version de Firefox :

Firefox Release
La version officielle de Firefox.
Firefox Beta
Test de la prochaine version de Firefox avant qu’elle ne devienne la version officielle.
Firefox Aurora
Pour les développeurs Web/plateforme et les utilisateurs précoces.
Firefox Nightly
Versions nocturnes qui contiennent des fonctionnalités expérimentales (couvertes régulièrement sur Twitter par @firefoxnightly).
Versions de Firefox

crédit Mozilla

Contenu de l’image :

Les canaux de version de Mozilla Firefox

Le processus de sorties de Mozilla délivre aux utilisateurs les nouvelles fonctionnalités, les améliorations de performance et les mises à niveau de sécurité toutes les six semaines. Il est composé de quatre canaux de développement produisant des versions simultanées de Firefox pour Windows, Mac, Linux et Android.

Firefox
Pour :
Tout le monde ! Publié pour plus de 400 millions d’utilisateurs de Firefox dans le monde entier
Appréciez :
Les fonctionnalités finies et stables de Firefox qui font progresser le Web avec d’excellentes performances et une personnalisation sans égal
Attendez :
Une impressionnante expérience du Web qui ne réponde qu’à vous !
Firefox Beta
Pour :
Les utilisateurs précoces et les fans de Mozilla
Appréciez :
Testez la prochaine version de Firefox avec la stabilité
Attendez :
Des versions quasiment stables qui ont besoin de réglages fins et la compatibilité de la majorité des modules complémentaires
Firefox Aurora
Pour :
Les développeurs Web/plateforme et les utilisateurs précoces ou en quête d’aventure
Appréciez :
Accédez aux nouvelles fonctionnalités expérimentales – vos retours aideront à déterminer celles qui seront dans la version bêta
Attendez :
Des versions de test avec des bogues et les modules complémentaires incompatibles
Firefox Nightly
Pour :
Les développeurs de la plateforme et les contributeurs à Mozilla
Appréciez :
Accédez aux nouvelles fonctionnalités de pointe toujours en développement actif
Attendez :
Plantages, des versions de test instables avec des bogues et les modules complémentaires incompatibles

Chronologie des versions de Firefox

Firefox est publié sur un calendrier de six semaines, ce qui signifie que toutes les six semaines il y aura de nouvelles versions de Firefox Release, Firefox Beta et Firefox Aurora. Nightly est, naturellement, publié toutes les nuits.

Chronologie des versions de Mozilla Firefox

crédit Mozilla

Exécuter plusieurs versions de Firefox en même temps

Il y a de nombreuses façons différentes d’exécuter plusieurs versions de Firefox en même temps. Toutes se résument en installer les différents profils que vous avez pour chaque instance du navigateur Web. La méthode la plus simple est probablement d’utiliser le Gestionnaire de profils tel que décrit sur MDN.

Si vous êtes sur Mac OS X, il est facile d’utiliser la version automatisée de l’installation de plusieurs profils de Firefox.

Une autre possibilité, en code brut et comme décrit dans Plusieurs instances de Firefox, est de lancer le gestionnaire de profils directement :

# Sur Windows cliquez sur Démarrer > Exécuter puis :
"C:\Program Files\Mozilla Firefox\firefox.exe" -no-remote -ProfileManager

# Mac OS X et Linux, dans le Terminal
firefox -ProfileManager

# En fonction du système/de l'installation, vous pourriez
avoir besoin de faire ceci à partir du répertoire
./firefox -ProfileManager

Tester Firefox Aurora

La version de Firefox qui est la meilleure version à tester pour les développeurs Web est Firefox Aurora. Il est dans un état assez stable pour être utilisé, mais dispose également de fonctionnalités à leur dernière étape avant qu’elles ne soient approuvées. Par conséquent, vos chances d’affecter les implémentations, de trouver des bogues, d’améliorer les fonctionnalités est quand il est devenu Firefox Aurora – de même, il nous donne une meilleure chance de faire en sorte que lorsque Firefox sera officiellement sorti, toutes les choses seront en place de la meilleure manière possible.

Par conséquent, veuillez prendre le temps de tester Firefox Aurora et les nouvelles fonctionnalités, afin que nous puissions, ensemble, aider Firefox et rendre le Web meilleur !


Le document original et cette traduction sont soumis aux conditions de la licence
Creative Commons : « Paternité – Partage des conditions initiales à l’identique 3.0 »
ou toute version postérieure.

License Creative Commons

Voir aussi sur BlogZiNet : Travailler avec plusieurs Firefox simultanément.

Sources et références

© 2010-2012 Mozinet - Ce billet a été publié sur BlogZiNet.

L'extension du mois de mai : Monitor Master

Goofy, 06/05/2012 | Source: Mozilla Francophone

Si vous avez plusieurs moniteurs pour travailler au développement, jouer, surveiller vos téléchargements… cette extension pour Firefox vous propose une série de fonctionnalités pratiques qui vous rendront facile l'usage de plusieurs écrans.

Monitor Master(1) est simple et efficace. En un clic, vous pouvez (2) :

  • déplacer votre fenêtre de Firefox d'un écran à l'autre avec un simple clic depuis une barre d'outils ;
  • déplacer un onglet ouvert d'un écran à l'autre. Si vous avez déjà une autre fenêtre de Firefox ouverte sur le moniteur voisin, l'onglet y sera déplacé grâce à une entrée du menu contextuel (clic droit) sur un onglet ;
  • ouvrir un lien sur l'autre écran grâce à une nouvelle entrée du menu contextuel sur un lien ;
  • étendre une fenêtre d'un moniteur à l'autre pour qu'elle occupe le maximum d'espace disponible
entrées de menu pour monitor master

Déplacer un onglet ou ouvrir un lien dans un autre moniteur

choix des moniteurs

Les petits symboles pour sélectionner un moniteur

Davantage encore pour très bientôt

Dans la version courante seuls deux moniteurs sont possibles, la version 2.0 qui n'attend plus que sa validation sur AMO pourra gérer un un plus grand nombre de moniteurs. En téléchargeant la version d'aujourd'hui la mise à jour vous sera automatiquement proposée par le site officiel.

Mais euh c'est en anglais tout ça ?

Ben oui, mais vous avez un moyen facile et utile pour tous de contribuer à la diffusion de cette extension, inscrivez-vous sur BabelZilla et traduisez-la en ligne ici (26 courtes lignes seulement)

extension Monitor Master sur babelzilla
  • L'adresse de support (en anglais) du développeur : pjs.nlAROBASElive.com si vous voulez lui faire part de commentaires suggestions, bugs, écrans non reconnus par l'extension, etc.