Planet

anki_logo

En cette période de révision (la BAC c’est dans un peu plus que 15jours), je vous propose de découvrir une petite solution logicielle (multiplateforme et opensource) de révision : Anki.

Anki est un logiciel qui permet de se créer des fiches de révision, appelé flash-card. Chaque carte est composée d’une question – qui peut-être agrémentée de média (son, image, vidéo) – et d’une réponse. Initialement, Anki était prévu pour permettre un apprentissage des langues mais il peut aussi servir pour bien d’autres matières.

fiches_anki

Il est possible ensuite de partager ses fiches (avec quelqu’un d’autre ou sur un autre terminal) ou via un fichier *.apkg via ou en se créant un compte sur le site ankiweb (qui est une version en ligne de Anki). Le même site propose au téléchargement différents parcours de révision déjà existant (majoritairement en anglais).

ankiweb

Ankiweb est une version en ligne de l’application Anki

Lorsque l’on s’exerce, à chaque question (lesquelles sont posée aléatoirement), on indique si l’on a trouvé la réponse facilement. Cela permet d’établir des statistiques de réussite mais aussi une progression ( reviendront plus souvent les questions qui nous ont posé problème).

anki-statistiques

Statistiques Anki…

Anki propose, je vous le disais, des options de partage ce qui permet de donner ses fiches de révision à quelqu’un ou de les transférer sur un autre terminal (par exemple sa tablette ou son smartphone).

Pour ma part, je l’ai testé avec succès en créant des fiches sur un PC (testé sous Windows et Linux) puis j’ai transféré mes fiches sur une tablette pour simuler une révision (sous android, les apkg doivent être copié dans /storage/sdcard0/AnkiDroid). La synchronisation Ankiweb marche également parfaitement.

 anki_question

 anki_reponse

 Question…

 Réponse !

Anki, fruite du travail de Damien Elmes, est open source (Licence GNU Affero GPL pour les versions non mobiles, Maemo, Android et Nintendo DS, Propriétaire et GPL V.3 pour iPhone) et multiplateforme puisque l’appli existe pour Windows, Mac, Linux, Android et iOS. On peut directement la télécharger à cette adresse ou sur les markets Apple et Google.

 ankidroid

 ankidroid2

 AnkiDroid :

 la version Android de Anki

Installation sous Ubuntu

Pour installer Ankli sous Ubuntu, il suffit de tapper ces commandes dans le terminal (les paquets des dépôts Ubuntu ne sont pas à jour).

Installation des dépendances :

sudo apt-get install lame python-sqlalchemy

Téléchargement et installation de Anki :

wget https://anki.googlecode.com/files/anki-2.0.8.deb
dpkg -i anki-2.0.8.deb

 

anki

Site officiel :  http://ankisrs.net/

Site AnkiWeb : https://ankiweb.net/

30 Mai 2013 à 11:46

En Vrac' #1 via Quack1

 

Quelques liens en vrac', que j'ai pu partager sur Twitter ou que je n'aurais pas publié dans des articles!

Pour la suite, je vous prévois un En Vrac' spécial bouffe, mon Pocket commence à bien se remplir de liens vers des recettes ou des trucs culinaires!

30 Mai 2013 à 11:46

En Vrac' #1 via Quack1

 

Quelques liens en vrac', que j'ai pu partager sur Twitter ou que je n'aurais pas publié dans des articles!

Pour la suite, je vous prévois un En Vrac' spécial bouffe, mon Pocket commence à bien se remplir de liens vers des recettes ou des trucs culinaires!

 

Mozilla, au travers du projet Persona, veut proposer une solution au problème des mots de passe sur le Web. Je trouve que c'est un très bon projet, c'est justement pour cette raison que je commence à y contribuer, et il mérite que l'on s'y intéresse.

Je vais humblement tenter de vous le présenter pour, je l'espère, que vous le mettiez en place sur votre site!

 

L'un des grands problèmes de la sécurité, c'est qu'elle s'accompagne souvent de contraintes vis-à-vis des utilisateurs. Mots de passe longs et complexes. Chiffrement. Changement de mot de passe pour chaque site. Tout ceci, c'est long, c'est chiant. Donc on ne le fait pas et on utilise le même mot de passe partout.

Le problème, c'est que quand des gros sites se font pirater et que les mots de passe sont diffusés (comme Linkedin ou Yahoo!), on peut voir son compte se faire compromettre sur d'autres sites si on y utilise le même login/mot de passe que sur le site piraté.

L'autre problème des mots de passe, c'est pour les développeurs, puisqu'il faut les stocker de façon sécurisée pour éviter la perte d'informations pour l'utilisateur.

Des solutions existent, comme s'authentifier en utilisant un service externe, comme Facebook ou Twitter. Cependant, on exporte nos données chez des services tiers, et on ne garde l'accès à notre compte que tant que le tiers est disponible et propose la solution d'authentification.

 

La solution est Persona. Ce nouveau "service" apporte de la sécurité, de l'indépendance, et une facilité d'installation et d'utilisation. En pratique, comment est-ce que ça marche ?

Dans Persona, vous possédez une (ou plusieurs) identité(s). Cette identité est identifiée par votre adresse email. Au moment de l'authentification, au lieu de devoir donner un mot de passe à chacun des sites Web, le site va, au moyen de Persona, faire une requête à votre Identity Provider, le site tiers qui gère votre identité. Ensuite, vous prouvez à ce site que vous êtes bien celui que vous dîtes que vous êtes, et ce dernier va alors annoncer au premier site que vous êtes identifié.

En pratique, les choses ne se passent pas exactement de cette façon. Je ferais un autre article pour expliquer plus en détail le fonctionnement et la sécurité derrière Persona.

Avec ce système, au lieu de donner le même (ou des différents) mot de passe à 50 sites différents, et ainsi multiplier les risques de fuites de données, vous n'avez qu'un seul mot de passe à retenir. La connexion est aussi beaucoup plus simple. Il suffit de cliquer sur le bouton "Login with Persona", puis sélectionner l'identité avec laquelle vous voulez vous connecter. Ce n'est pas plus compliqué que pour n'importe quel autre système d'authentification.

Pour les développeurs, les avantages sont multiples : plus besoin de maintenir à jours des politiques de stockage de mots de passe, n'y même de vous demander si l'adresse email qui vous a été donné par l'utilisateur est correcte ou non. Persona, de par son fonctionnement, vous assure que l'adresse email est valide et utilisée par l'utilisateur.

 

Enfin, on peut noter un autre problème, plutôt d'ordre pratique. Sur chaque site où l'on doit s'enregistrer, on doit ensuite configurer son compte, pour fournir certaines informations, comme son nom, son site Web, son âge, etc... Un des projets qui sera une fonctionnalité future (des gens travaillent actuellement dessus), est Picl (prononcez Pikeule), ou Profile In The Cloud. Cela permettra, quand vous vous identifiez, de fournir à un site de récupérer automatiquement des informations sur votre compte depuis PiCL plutôt que vous ayez à les saisir.

Ce système est encore en cours de développement et n'arrivera pas avant fin 2013 je pense.

 

Pour finir, parlons Vie Privée.

Comme tous les projets Mozilla, Persona est un projet Libre, diffusé sous la Mozilla Public Licence. Tout le monde peut (et doit! ;)) donc l'utiliser et l'intégrer à son site, pour reprendre le contrôle de ses données et se simplifier la vie, tant côté utilisateur que développeur!

Persona, en plus d'augmenter la sécurité, vous permet de redevenir maître de vos données. Puisque le service n'a pas vocation à être hebergé chez Mozilla. Au contraire, chaque personne (ou organisation) aura son propre Identity Provider chez lui.

En fait, ce n'est pas vraiment ça. Vous êtes identifié par votre adresse email. C'est donc le service qui vous fournit votre adresse email qui devient votre Identity Provider, et c'est chez lui que toutes vos données sont sauvegardées. Donc, si votre adresse est chez GMail, on ne gagne pas grand chose niveau vie privée, si vous avez votre propre serveur de mail, c'est déjà beaucoup mieux puisque vous gérez vous même vos informations.

 

À l'heure actuelle, plusieurs sites proposent l'authentification avec Persona, notamment Jocly, site de jeux Html5 et la plupart des sites et services de mozilla.

Au niveau des services qui sont Identity Providers, je crois que Yahoo l'est. Je n'ai pas trop d'autres noms en tête, mais n'hésitez pas à demander à votre fournisseur de supporter le service. C'est Open-Source, c'est libre, et c'est sécurisé! Sachez que Mozilla a mis en place un Identity Provider de secours qui vous permet d'utiliser le service même si, dans mon cas par exemple, Google ne gère pas encore Persona.

 

Pour plus d'infos, voilà une bonne présentation de Persona (un peu technique) par Francois Marier

Image d'en-tête

 

Mozilla, au travers du projet Persona, veut proposer une solution au problème des mots de passe sur le Web. Je trouve que c'est un très bon projet, c'est justement pour cette raison que je commence à y contribuer, et il mérite que l'on s'y intéresse.

Je vais humblement tenter de vous le présenter pour, je l'espère, que vous le mettiez en place sur votre site!

 

L'un des grands problèmes de la sécurité, c'est qu'elle s'accompagne souvent de contraintes vis-à-vis des utilisateurs. Mots de passe longs et complexes. Chiffrement. Changement de mot de passe pour chaque site. Tout ceci, c'est long, c'est chiant. Donc on ne le fait pas et on utilise le même mot de passe partout.

Le problème, c'est que quand des gros sites se font pirater et que les mots de passe sont diffusés (comme Linkedin ou Yahoo!), on peut voir son compte se faire compromettre sur d'autres sites si on y utilise le même login/mot de passe que sur le site piraté.

L'autre problème des mots de passe, c'est pour les développeurs, puisqu'il faut les stocker de façon sécurisée pour éviter la perte d'informations pour l'utilisateur.

Des solutions existent, comme s'authentifier en utilisant un service externe, comme Facebook ou Twitter. Cependant, on exporte nos données chez des services tiers, et on ne garde l'accès à notre compte que tant que le tiers est disponible et propose la solution d'authentification.

 

La solution est Persona. Ce nouveau "service" apporte de la sécurité, de l'indépendance, et une facilité d'installation et d'utilisation. En pratique, comment est-ce que ça marche ?

Dans Persona, vous possédez une (ou plusieurs) identité(s). Cette identité est identifiée par votre adresse email. Au moment de l'authentification, au lieu de devoir donner un mot de passe à chacun des sites Web, le site va, au moyen de Persona, faire une requête à votre Identity Provider, le site tiers qui gère votre identité. Ensuite, vous prouvez à ce site que vous êtes bien celui que vous dîtes que vous êtes, et ce dernier va alors annoncer au premier site que vous êtes identifié.

En pratique, les choses ne se passent pas exactement de cette façon. Je ferais un autre article pour expliquer plus en détail le fonctionnement et la sécurité derrière Persona.

Avec ce système, au lieu de donner le même (ou des différents) mot de passe à 50 sites différents, et ainsi multiplier les risques de fuites de données, vous n'avez qu'un seul mot de passe à retenir. La connexion est aussi beaucoup plus simple. Il suffit de cliquer sur le bouton "Login with Persona", puis sélectionner l'identité avec laquelle vous voulez vous connecter. Ce n'est pas plus compliqué que pour n'importe quel autre système d'authentification.

Pour les développeurs, les avantages sont multiples : plus besoin de maintenir à jours des politiques de stockage de mots de passe, n'y même de vous demander si l'adresse email qui vous a été donné par l'utilisateur est correcte ou non. Persona, de par son fonctionnement, vous assure que l'adresse email est valide et utilisée par l'utilisateur.

 

Enfin, on peut noter un autre problème, plutôt d'ordre pratique. Sur chaque site où l'on doit s'enregistrer, on doit ensuite configurer son compte, pour fournir certaines informations, comme son nom, son site Web, son âge, etc... Un des projets qui sera une fonctionnalité future (des gens travaillent actuellement dessus), est Picl (prononcez Pikeule), ou Profile In The Cloud. Cela permettra, quand vous vous identifiez, de fournir à un site de récupérer automatiquement des informations sur votre compte depuis PiCL plutôt que vous ayez à les saisir.

Ce système est encore en cours de développement et n'arrivera pas avant fin 2013 je pense.

 

Pour finir, parlons Vie Privée.

Comme tous les projets Mozilla, Persona est un projet Libre, diffusé sous la Mozilla Public Licence. Tout le monde peut (et doit! ;)) donc l'utiliser et l'intégrer à son site, pour reprendre le contrôle de ses données et se simplifier la vie, tant côté utilisateur que développeur!

Persona, en plus d'augmenter la sécurité, vous permet de redevenir maître de vos données. Puisque le service n'a pas vocation à être hebergé chez Mozilla. Au contraire, chaque personne (ou organisation) aura son propre Identity Provider chez lui.

En fait, ce n'est pas vraiment ça. Vous êtes identifié par votre adresse email. C'est donc le service qui vous fournit votre adresse email qui devient votre Identity Provider, et c'est chez lui que toutes vos données sont sauvegardées. Donc, si votre adresse est chez GMail, on ne gagne pas grand chose niveau vie privée, si vous avez votre propre serveur de mail, c'est déjà beaucoup mieux puisque vous gérez vous même vos informations.

 

À l'heure actuelle, plusieurs sites proposent l'authentification avec Persona, notamment Jocly, site de jeux Html5 et la plupart des sites et services de mozilla.

Au niveau des services qui sont Identity Providers, je crois que Yahoo l'est. Je n'ai pas trop d'autres noms en tête, mais n'hésitez pas à demander à votre fournisseur de supporter le service. C'est Open-Source, c'est libre, et c'est sécurisé! Sachez que Mozilla a mis en place un Identity Provider de secours qui vous permet d'utiliser le service même si, dans mon cas par exemple, Google ne gère pas encore Persona.

 

Pour plus d'infos, voilà une bonne présentation de Persona (un peu technique) par Francois Marier

Image d'en-tête

L'équipe du design en charge d'Ubuntu Touch a récemment publié une vidéo présentant les animations de l'interface. Son nom de code ? "Paper" (papier). La vidéo expose certaines des animations principales de l'interface du futur Ubuntu Touch : animation lors du changement d'applications, lors du déverrouillage de l'écran, lors de l'interaction avec des bulles d'alertes (popups) ou avec des interrupteurs... L'expérience que souhaite implanter l'équipe de design en est une semblable à celle de la manipulation du papier. Par exemple :
  • lorsque trop d'applications apparaissent dans la barre des lanceurs (Launcher), les icônes s'empilent et se déplient à la manière d'un accordéon ;
  • lorsqu'une application est chargée ou rechargée, celle-ci apparaît à partir de la droite avec un effet semblable à celui de tourner une page ;
  • lorsqu'une bulle d'alerte apparaît, les actions permettant d'interagir avec elle se déplient par le dessous, comme s'il s'agissait d'une lettre que l'on ouvre.

Rappelons qu'une première version finale d'Ubuntu Touch est attendue dès octobre 2013. Les appareils pris en charge officiellement seront ceux de la gamme Nexus (Galaxy Nexus, Nexus 4, Nexus 7 et Nexus 10). De nombreux autres modèles devraient être pris en charge par des portages effectués par des membres de la communauté des développeurs d'Ubuntu. ---------- Sources : OMG! Ubuntu! et UbunTouch

Il était en place depuis quelques temps, tout est finalement pleinement fonctionnel aujourd'hui, je peux donc vous l'annoncer, le blog a aujourd'hui un nouveau nom de domaine!

On oublie donc l'ancien nom qui était chez No-IP.com, et on passe à un vrai nom de domaine : quack1.me

Notez que l'ancien NDD (quack1.no-ip.org) est toujours valable, et je ne pense pas le couper avant un bon moment, afin d'assurer une rétro-compatibilité pour les gens qui auront déjà un flux RSS ou autres marque-pages sauvegardés.

Cependant, n'hésitez pas à vous mettre à jour, notamment pour le flux RSS : http://quack1.me/feeds/all.atom.xml!

Il était en place depuis quelques temps, tout est finalement pleinement fonctionnel aujourd'hui, je peux donc vous l'annoncer, le blog a aujourd'hui un nouveau nom de domaine!

On oublie donc l'ancien nom qui était chez No-IP.com, et on passe à un vrai nom de domaine : quack1.me

Notez que l'ancien NDD (quack1.no-ip.org) est toujours valable, et je ne pense pas le couper avant un bon moment, afin d'assurer une rétro-compatibilité pour les gens qui auront déjà un flux RSS ou autres marque-pages sauvegardés.

Cependant, n'hésitez pas à vous mettre à jour, notamment pour le flux RSS : http://quack1.me/feeds/all.atom.xml!

24 Mai 2013 à 22:28

UDS Virtuel 13.05 via Ubuntuser

Le second Ubuntu Developer Summit (UDS) de l'année s'est déroulé du 14 au 16 mai. Dans leur nouvelle formule entièrement en ligne, les UDS sont désormais programmés tous les trois mois -- plutôt qu'aux six mois dans l'ancien format. Cette manière de repenser les UDS est notamment l'une des expressions de la transformation du processus de développement d'Ubuntu, plus fluide et moins centré sur les versions semestrielles.

SESSION D'OUVERTURE

Le premier jour a été marqué par une courte présentation, marquant le départ de l'UDS. Jono Bacon a ouvert la plénière par un bilan d'Ubuntu 13.04, incluant une petite revue de presse, et par une sommaire des défis qui attendent les développeurs et testeurs pour le prochain cycle. Il a continué avec un rappel du nouveau format de l'UDS et du fonctionnement des sessions à l'intention des participants. Rick Spencer a ensuite pris le relais avec  une comparaison entre Ubuntu 9.04 et 13.04, afin de présenter l'évolution de la distribution durant les quatre dernières années : Au niveau organisationnel, le développement d'Ubuntu 9.04 était grandement basé sur une nouvelle planification à chaque six mois. Les logiciels et services étaient publiés en une version fonctionnelle, puis améliorés par la suite selon les retours des utilisateurs. A contrario, pour Ubuntu 13.04, la planification du développement était continue. Chaque projet pouvait adopter des objectifs à atteindre sur une étendue de temps plus grande que la prochaine publication. Les objectifs étaient aussi suivis de manière plus précise. Au niveau du design, le travail accompli sur la version 9.04 consistait globalement à modifier quelques éléments de l'interface de GNOME. Canonical n'employait à ce moment que deux personnes à cette tâche. La version 13.04 d'Ubuntu permet d'apprécier les importants changements qui sont survenus depuis : Canonical emploie désormais des équipes entières spécialisées dans différents domaines du design, et Unity est l'application de leur travail. Ubuntu fait grande place au design dans sa conception, et des expérimentations sont régulièrement menées auprès des utilisateurs pour obtenir des critiques précises. Au niveau de l'assurance qualité, là-aussi, de grosses différences sont observables. Pour Ubuntu 9.04, le processus d'assurance qualité consistait essentiellement à gérer les bogues rapportés par la communauté et à mettre en pause à quelques reprises l'intégration de nouveautés (feature freeze) pour permettre la correction des bogues. Avec la version 13.04, on constate un travail plus professionnel avec un développement centré sur les tests (toute nouvelle fonctionnalité doit avoir réussir une série de tests automatisés), une intégration contrôlée et continue des nouveautés permettant d'avoir tous les jours une image utilisable de la version en développement, et des tests généraux de la distribution avant de la rendre disponible en production. Enfin, les mises à jour sont progressives suivant les retours automatisés quant aux bogues rencontrés par les utilisateurs. On observe une réelle évolution d'Ubuntu depuis les quatre dernières années, même s'il reste encore beaucoup de chemin à parcourir. Avec Ubuntu 13.10, l'un des objectifs sera donc de terminer la version 1.0 d'Unity Next pour les téléphones mobiles et les tablettes, offrir un moyen d'essayer Unity Next sur poste de travail et mettre à disposition pour la première fois la version 1.0 du SDK d'Ubuntu.  

RÉSUMÉ DE QUELQUES POINTS INTÉRESSANTS

Trois jours, une centaine de sessions réparties autour de trois grands thèmes : développement d'applications, communauté, fondations [du système], informuagique et serveur, et client. Nous ne pouvons pas résumer chacune d'elles ; vous pouvez voir une vidéo de chaque session et les notes de travail les accompagnant dans le site de l'UDS 13.05. Ci-dessous, nous vous présentons un sommaire de quelques points qui ont su nous intéresser.

Quelques nouveautés pour les cartes graphiques dans Ubuntu 13.10

Bonne nouvelle aux possesseurs de cartes graphiques Radeon utilisant le pilote libre : l’accélération matériel pour la lecture de vidéo H.264 et VC-1 devrait être activée, suite à l’implémentation récente de code dans le pilote pour prendre en charge l'unité de décodage UVD. De même, la nouvelle génération de cartes AMD devrait également enfin prendre en charge de manière plus avancé la 3D. Du côté du pilote nVidia propriétaire, on pourrait voir arriver la prise en charge de PRIME pour le traitement graphique simultané sur plusieurs puces dans les ordinateurs dotés de plusieurs puces ou cartes vidéo.  

Un nouveau format de paquet

Pour faciliter la distribution de petites applications sur les téléphones et tablettes, l'équipe d'Ubuntu va développer un nouveau système de paquets simplifié. L'idée proposée serait de passer outre le gestionnaire de paquet habituel et la gestion de nombreuses dépendances pour se centrer sur une solution simple, à l'image des paquet APK pour Android. Les applications n'auraient alors plus que des dépendances à la base d'Ubuntu (à travers le SDK). Les fichiers seraient stockés dans un répertoire spécifique, et l'ensemble de l'application fonctionnerait dans un bac à sable (sandbox) pour une meilleure étanchéité et une meilleure sécurité. Cette proposition ne vise pas à remplacer les système des dépôts, qui resteront la solution préférée pour tous les paquets systèmes, mais d'offrir aux développeurs une alternative additionnelle simplifiée pour distribuer des applications pour plateformes mobiles.  

Ubuntu Touch

Nous avons appris quelques nouvelles à propos d'Ubuntu Touch :
  • les applications principales sont maintenant en plein développement. On retrouve : l'horloge, le calendrier, l'afficheur de prévisions météorologiques et la calculatrice. D'autres pourraient être ajoutées, comme un gestionnaire de fichiers, un lecteur de flux RSS et un terminal ;
  • un nouveau panneau de configuration devrait être disponible en Qt pour Ubuntu Touch ;
  • L'isolement des applications devrait egalement arriver pour la 13.10. Tout comme sur les autres OS pour tablettes et téléphones, les applications doivent demander des droits sur l'usage des fonctions spécifiques du système lors de l'installation et ne peuvent utiliser d'autres fonctions sans autorisation. Actuellement une application installe sous Linux a globalement accès a l’ensemble du système.
Rick Spencer a déplacé le code d'Ubuntu Touch des PPA vers les archives réelles ; ceci signifie que Ubuntu Touch profite désormais des mêmes outils de tests et d'assurance qualité que la version d'Ubuntu pour postes de travail. Les premières images réellement utilisables devraient être disponibles à la fin du mois de mai, afin que les développeurs puissent identifier et corriger rapidement les éventuelles régressions rencontrées au quotidien.  

Unity

Le développement d'Unity 8 -- précédemment annoncé sous le nom Unity Next -- a été abordé lors de l'UDS. Unity 8 sera développé en priorité pour les plateformes mobiles (téléphone et tablettes), et le but est d'intégrer le tout dans une version finale d'Ubuntu Touch au mois d'octobre. Ubuntu 13.10 pour postes de travail sera livrée par défaut avec Unity 7, soit la même version que celle d'Ubuntu 13.04. Toutefois, Unity 8 pourra être installée et testée avec Mir sur PC. Le but visé ici est de rendre disponible rapidement Unity 8 et Mir pour les postes de table, afin que des tests et des retours d'expériences puissent être remontés aux développeurs et aux concepteurs d'interface. Certes, il ne s'agira que de l'exact même Unity 8 que pour Ubuntu Touch, prévue pour les interfaces tactiles. La prise en charge des actions par la souris et le clavier va être intégrée au SDK, et l'adaptation d'Unity 8 pour une utilisation sur une station de travail débutera dans le prochain cycle de développement. Dans Ubuntu 13.10 pour postes de travail, ce sera donc encore Unity 7 qui sera l'environnement bureautique par défaut. L'ensemble du travail pour le présent cycle de développement devrait consister à affiner davantage Unity et à améliorer ses performances. On verra poindre aussi quelques nouveautés qui ont été repoussées d'Ubuntu 13.04, à savoir le service Smart Scopes, un gestionnaire de vie privée plus élaboré et l'arrivée du paiement directement à partir du tableau de bord. Aucune nouvelle, par contre, concernant les menus intégrés localement (Locally Integrated Menus), une fonctionnalité qui rend les menus d'applications accessibles dans la barre de titre des fenêtres -- les LIM sont repoussés depuis Ubuntu 12.04 LTS.  

Chromium en tant que navigateur par défaut

Jason Warner, le gestionnaire de l'équipe en charge de l'expérience sur postes de travail, a animé une session de discussion concernant la possibilité de remplacer le navigateur Web par défaut. Actuellement Mozilla Firefox, Ubuntu pourrait le remplacer par Chromium. Le souhait de l'équipe en charge d'Ubuntu pour postes de travail est de livrer la distribution avec des logiciels utilisés par le grand public. En ce sens, la question du remplacement du navigateur par défaut est légitime. Google Chrome et Chromium ont dépassé le nombre d'utilisateurs de Firefox au cours des dernières années. Il y a demande claire des utilisateurs, qui utilisent beaucoup Chromium. Enfin, un changement de navigateur vers l'un utilisant le moteur WebKit apporterait une constance dans l'expérience Web entre celle sur postes de travail et celle sur système mobile. Durant la discussion, plusieurs zones d'ombre ont toutefois été soulevés quant à la proposition. D'abord, Chromium n'est pas disponible pour certaines architectures matérielles (PowerPC et ARM64). Toutes les extensions de Firefox n'existent pas sur Chromium, et la migration d'un navigateur à l'autre n'amène pas les extensions. Chromium ne fonctionne pas avec le lecteur d'écran Orca, ce qui le rend moins compatible avec les solutions d'accessibilité mises de l'avant par Ubuntu. Enfin, dû à son mode de fonctionnement, Chromium est davantage gourmand en ressources que Firefox. Des évaluations supplémentaires seront accomplies durant le cycle de développement, et le mainteneur de Chromium pour Ubuntu, Chad Miller, s'attaquera à certains de ces points négatifs. Une décision sera prise plus tard, suivant l'évolution de Chromium.  

Version en développement continu

Comme cela avait été discuté, il sera désormais possible de suivre constamment la dernière version de développement. Le mécanisme finalement choisi est la création d'un lien symbolique (symlink) qui sera mis à jour au moment où un nouveau cycle de développement débutera. Certains éléments à ce sujet ont été soulevés durant une session. D'abord, il faut encore choisir un nom pour ce lien symbolique. Ce nom doit refléter l'état du produit -- à savoir : qu'il est la toute dernière révision du code d'Ubuntu, mais qu'il est aussi instable. De plus, les noms issus de Debian sont proscrits, pour éviter la confusion entre les deux distributions -- ce qui élimine d'office testing et unstable. Plusieurs suggestions sont déjà évoquées ; il reste à faire un choix parmi celles-ci. L'autre point à évaluer est la manière de rendre disponible l'accès à ce lien de développement continu. Il a été proposé qu'une modification à au gestionnaire de sources de logiciels facilite ce choix. Cependant, il est aussi désiré qu'il soit facile de repasser ses sources sur l'actuelle branche de développement. Enfin, le moment de changer la destination du lien symbolique a aussi été évoqué. Il a été proposé que le changement ne soit effectué qu'une fois que les dernières importations depuis Debian ont été effectuées. En résumé, beaucoup d'efforts pour ce cycle seront investis dans Ubuntu Touch. La version pour postes de travail bénéficiera certes de quelques nouveautés, mais sera davantage concernée (encore) par une stabilisation de l'ensemble de ses composantes.

 

Depuis plusieurs années, j'ai envie de contribuer à un projet Open-Source. Aujourd'hui, les choses commencent à devenir réalité. J'ai trouvé le projet que je veux aider : Mozilla Persona. Mais je fais les choses dans le désordre puisque j'écrirais bientôt un article pour vous le présenter un peu mieux.

Ici, je vais détailler les étapes pour se monter un environnement de développement complet sur un système GNU/Linux, et plus précisément sur Ubuntu 13.04.

Devenir pote avec GitHub

La première chose à faire avant de contribuer est de s'inscrire sur GitHub, et forker le projet, disponible à https://github.com/mozilla/browserid.

Quand vous avez fait ça, clonez le répertoire sur votre machine :

╭────<quack@spiderman >───< ~/work/workspace/mozilla > ╰───[18:11:29] $ git clone https://github.com/quack1/browserid.git

Puis, rendez vous dans ce répertoire pour y rajouter un nouveau remote. Celui-ci sera le repository "officiel" à partir duquel on récupérera les mises à jour du code :

╭────<quack@spiderman >───< ~/work/workspace/mozilla > ╰───[18:13:49] $ cd browserid ╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:13:55] $ git remote add mozilla https://github.com/mozilla/browserid.git

De cette façon, pour se mettre à jour, on fera simplement :

╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:14:12] $ git pull mozilla dev

Et, pour pousser nos modifications sur notre dépôt :

╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:14:20] $ git push origin dev

On proposera nos commits à l'équipe de développement au travers du système de Pull Request inclut dans GitHub.

Travailler avec Nodejs

Persona étant écrit en Node.js pour les parties serveur, on doit l'installer pour pouvoir tester notre code.

Cependant, avant cela, on doit installer quelques autres outils :

╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:15:02] $ sudo apt-get install python-software-properties git-core libgmp3-dev g++ libssl-dev

Maintenant, on peut donc installer NodeJs. Mais surtout, n'installez pas nodejs directement depuis les depôts d'Ubuntu ou depuis les sources du site officiel, puisque la version currente est en 0.10., et Persona n'est compatible qu'avec les 0.8. pour le moment.

La meilleure façon de faire m'a été donnée par Shane Tomlinson, et elle consiste à déléguer la gestion des versions de Node.js installées sur le système à un simple programme : nvm. Ce dernier peut installer plusieurs versions de Node, et il est ensuite possible de lui préciser quelle version utiliser.

Pour l'installer, suivez les instructions disponibles sur le site officiel. Pour faire simple, voici les commandes à taper :

╭────<quack@spiderman >───< ~/work/softs > ╰───[18:17:47] $ git clone http://github.com/creationix/nvm.git nvm ╭────<quack@spiderman >───< ~/work/softs > ╰───[18:17:58] $ echo '. /home/quack/work/softs/nvm/nvm.sh' > ~/.zshrc

N'oubliez pas de modifier la dernière commande pour coller à l'emplacement où vous avez cloné les sources et à l'emplacement du fichier de configuration de votre shell (par défaut, sur Ubuntu, c'est ~/.bashrc). Démarrez un nouveau terminal et la commande nvm devrait marcher.

Après ceci, installez la dernière version de Node.js supportée, et définissez la comme version par défaut :

╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:19:30] $ nvm install 0.8.12 ╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:19:49] $ nvm alias default 0.8.12

Maintenant, vous pouvez installez tous les modules Node.JS nécéssaires à Persona. Déplacez vous dans le répertoire racine où vous avez cloné browserid, et lancez la commande suivante :

╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:20:15] $ npm install

Et, normallement, tous les modules sont installés et vous pouvez travailler! Si vous voulez lancer les exemples donnés dans les sources :

╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:20:20] $ npm start

L'application Web d'exemple est accessible à http://localhost:10001, et le serveur Browserid est à http://localhost:10002.

Mais le module bcrypt ne marche pas...

Si, durant le npm install, vous avez une erreur du type "Impossible d'installer le module 'bcrypt'", essayez d'importer la bonne version directement :

╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:20:20] $ npm install bcrypt@0.7.3

Refaites un npm install, et si ça ne marche toujours pas, nous allons essayer de l'installer manuellement.

Pour faire simple, les commandes suivantes vont : cloner les sources, configurer la compilation, compiler les sources, et ré-installer bcrypt avec npm.

╭────<quack@spiderman >───< /tmp > ╰───[18:20:20] $ git clone http://github.com/ncb000gt/node.bcrypt.js.git ╭────<quack@spiderman >───< /tmp > ╰───[18:21:20] $ cd node.bcrypt.js ╭────<quack@spiderman >───< /tmp > ╰───[18:22:20] $ npm install -g node-gyp ╭────<quack@spiderman >───< /tmp > ╰───[18:23:20] $ node-gyp configure ╭────<quack@spiderman >───< /tmp > ╰───[18:24:20] $ node-gyp build ╭────<quack@spiderman >───< /tmp > ╰───[18:25:20] $ cd ~/work/workspace/mozilla/browserid ╭────<quack@spiderman >───< /tmp > ╰───[18:25:22] $ rm -rf var node_modules ╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:26:20] $ npm install

Normallement, après cette dernière étape, tout devrait normalement marcher avec un npm start.

Mettre à jour ses sources

Désormais, à chaque fois que vous voudrez mettre à jour vos sources, vous devrez réinstaller les modules Node pour utiliser les dernières versions demandées par Persona.

Le processus de mise à jour sera donc :

╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:23:20] $ git pull mozilla dev ╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:31:20] $ rm -rf var node_modules ╭────<quack@spiderman >───< ~/work/workspace/mozilla/browserid > ‹dev› ╰───[18:32:20] $ npm install

Et voilà, il est temps de travailler sur le code maintenant!

 

_ Si vous trouvez quelques fautes, ou si vous voulez plus de précisions, n'hésitez pas à m'envoyer un email, me contacter sur Twitter, ou à joindre le canal IRC de l'équipe Identity : #identity@irc.mozilla.org. Les mecs qui en font partie et qui travaille sur Persona sont tous supers cools et toujours près à vous aider!_

Un merci tout particulier à Shane Tomlinson qui a passé tout son samedi après midi sur IRC à m'aider à installer cet environnement!

Pour plus d'infos, vous avez également le README disponible sur le dépôt GitHub du projet

Pages