Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les news > Accueil

Bienvenue sur le Site du Zéro !

Sondage

Avez-vous déjà imprimé des tutoriels du site ?

Django 1.0 : un an de développement, un an de nouveautés

37 commentaires # Par wgmpgp, hier à 18:08:35
Image utilisateur
Le langage de programmation Python a été créé en 1991 par un programmeur Hollandais du nom de Guido van Rossum, dans le but de créer facilement des scripts d'administration pour le système d'exploitation Amoeba. Ce nom de langage vient en réalité des Monty Python, une troupe d'acteurs britanniques bien connus pour leurs sketchs, séries et films comiques, dont Guido van Rossum était un grand fan. Depuis cette époque, Python a évolué : de la version 0.9.0 sortie en 1991, nous avons maintenant atteint la version 2.5.2 du langage Python, et la prochaine version majeure, Python 3.0, devrait sortir dans les semaines à venir. Le langage a évolué, et ses utilisations avec : de son rôle de langage de script pour les administrateurs système, il est maintenant un langage capable de réaliser des interfaces graphiques, des jeux ou des sites Web. En effet, de nombreuses entreprises l'adoptent de plus en plus : il est notamment utilisé par Google (chez qui Guido van Rossum travaille maintenant), Adobe ou même des sociétés spécialisées comme Logilab.

Cependant, pour beaucoup de gens, le rôle de Python se limite au développement de scripts et d'interfaces graphiques. Que nenni ! Sa place devient de nos jours de plus en plus importante dans le développement web. Ses débuts ont tout d'abord été par le biais de scripts CGI (un tutoriel de krankkatze en parle notamment), puis les développeurs Python se sont aperçus que cette approche n'était pas la bonne : en effet, l'utilisation d'un script CGI favorise le mélange entre code et affichage, ce qui empêche de modifier facilement l'une ou l'autre de ces deux parties indissociables formant un site web dynamique. C'est ainsi que des programmeurs Python ont commencé à écrire de nombreux frameworks de développement web. Les trois plus connus sont Zope, très utilisé en entreprise et dans le monde professionnel du fait de son ancienneté et de sa stabilité, Turbogears, plutôt minoritaire mais très prometteur, et enfin Django, celui dont je vais parler dans cette news, qui monte de plus en plus en puissance et qui se fait de plus en plus connaître au fil du temps.

La dernière version de Django, de numéro 0.96, est sortie en mars 2006. Elle n'apportait pas de vraies nouveautés aux développeurs, sauf l'assurance d'avoir des bases solides qui ne bougeraient pas pour au moins une année. Mais aujourd'hui vient de sortir la dernière mouture de ce framework web : Django 1.0. Attendue depuis plus d'un an, cette version casse totalement certaines fondations de Django pour les rendre plus efficaces et plus pratiques à utiliser pour le développeur. Ainsi, un site développé pour Django 0.96 ne fonctionnera pas avec Django 1.0 : c'est pour cela que le numéro de version 0.97 n'a pas été choisi pour cette nouvelle version très innovante au niveau du web en Python.

Django, un framework web ?



Image utilisateur
Comme je l'ai déjà expliqué sommairement en introduction, ces frameworks sont là pour remplacer l'utilisation de Python en tant que script CGI qui n'était pas adapté au développement de gros sites internet dynamiques. En effet, utiliser des scripts CGI impose une chose : comme on le fait en PHP, une page est représentée par un script, qui s'occupera lui-même de récupérer les données envoyées par l'utilisateur et de lui renvoyer une page HTML ou une image par exemple. Cette approche est tout à fait pratique quand on réalise un script rapidement constitué d'une ou deux pages, mais devient rapidement impossible à gérer quand il s'agit de faire un site complet, un système d'administration, etc. De plus, par défaut, rien n'est géré par un script CGI et tout doit être reprogrammé par le développeur web : par exemple, la gestion des sessions, qui peut ne pas être facile pour un débutant. Ainsi, cette utilisation de CGI était réservée aux connaisseurs du langage et des standards impliqués (le protocole HTTP et la norme CGI, par exemple).

Model, View, Controller



Les frameworks Web sont des bibliothèques de code réutilisable pour plusieurs sites qui vont gérer différents aspects compliqués ou répétitifs de la création d'un site web. La plupart de ces frameworks offrent à l'utilisateur (ou l'y obligent) à utiliser un modèle de développement que l'on appelle MVC. Ce modèle sépare trois parties distinctes d'un site web :
  • Les modèles : ce sont les données que votre site manipule et qui seront la plupart du temps stockées en base de données. Par exemple, un blog pourrait manipuler trois modèles : un modèle représentant un article de blog (qui contient un titre, un texte, une date de publication et différents mots-clés), un autre représentant un commentaire d'article (qui est lié à un article, et contient un titre, un auteur, un texte et une date de publication), et le dernier représentant un mot-clé (qui a un nom et une liste d'articles associés). On peut ainsi très facilement manipuler les données de façon totalement transparente pour le développeur : en effet, ces modèles sont des interfaces vers, par exemple, une base de données ou un fichier, alors qu'on les manipule sans s'en préoccuper.
  • Les vues : elles ont le rôle d'utiliser les données qu'on leur fournit pour les transformer sous une forme claire et compréhensible pour l'utilisateur, et lui renvoyer ensuite. Par exemple, pour notre exemple de blog, on aurait une vue « un_article » qui prendrait en paramètre un de nos articles (sous la forme de son modèle), et qui renverrait une page XHTML valide avec toutes les informations voulues. Ces vues sont bien souvent assistées par un moteur de templates, qui permet lui de s'abstraire du code, et de réaliser des choses comme ceci :
    Code : HTML & Django
    1
    2
    3
    4
    5
    <html>
    <head>
    <title>{{ article.titre }}</title>
    </head>
    ...
    

    Notre template sera ensuite analysé par un moteur de templates, qui transformera « article.titre » en sa vraie valeur dans le code XHTML.
  • Le contrôleur : c'est le dernier composant de ce trio gagnant, dont le but est de faire le lien entre les vues, les modèles, et les requêtes de l'utilisateur. À chaque demande de page de la part de l'utilisateur, il va analyser l'adresse de la page demandée, la faire correspondre à une vue, et renvoyer le résultat de cette vue. C'est en gros « l'intelligence » du framework web, qui va réaliser un rôle très important.


Et Django dans tout ça ?



Comme vous l'avez appris (ou pas) dans l'introduction de cette news, Django est un framework web qui vous permet de réaliser des sites Web en Python très facilement, en obligeant le développeur à utiliser le modèle MVC, forçant ainsi à s'organiser plus que dans des langages comme PHP par exemple. Il a cependant de nombreuses particularités qui le différencient du gros des frameworks web :
  • Il est totalement orienté objet. Cela permet une organisation du code plus efficace et une représentation plus aisée des différents composants : ainsi, un modèle est par exemple tout simplement une classe dont les instances pourront être stockées ou récupérées depuis une base de données. Les templates sont également des objets à part entière, pouvant être modifiés et redéfinis au besoin du développeur.

  • Il contient un moteur de templates très puissant par rapport à la normale, supportant par exemple des fonctionnalités telles que le template inheriting (en français : héritage de templates). Comme en orienté objet, on peut ainsi créer des templates qui seront ensuite spécialisés par la suite, via la redéfinition de blocs spéciaux dans le template. Mis à part cela, son système de templates est très sécurisé, empêchant par défaut les attaques de type XSS sur vos sites Web. Il supporte évidemment toutes les fonctionnalités de base des templates, comme les conditions, les boucles et les fonctions. Cependant, ce moteur de templates est totalement extensible selon les besoins du site, permettant de rajouter facilement de nouveaux tags et filtres à ceux déjà existants.

  • Il contient une interface d'administration automatiquement générée : au fur et à mesure que vous rajouterez vos modèles, l'administration intégrée à Django s'actualise, vous permettant de rajouter ou de modifier les données gérées par votre site web de manière aisée et uniforme, sans avoir besoin de créer vous-même votre propre interface d'administration. Elle est de plus totalement personnalisable selon les besoins de tous, et possède de nombreuses fonctionnalités utiles telles que l'historique des actions ou les permissions par utilisateur.

  • L'internationalisation, le fait de fournir un site en plusieurs langages selon l'utilisateur, est directement gérée dans Django en utilisant des outils reconnus dans le domaine tel que le bien connu gettext. La traduction d'une application se fait extrêmement facilement : il suffit de marquer les chaînes à traduire en les entourant de _("...") dans vos fichiers Python, ou en utilisant le tag {% trans "..." %} dans les templates. La gestion des pluriels est également incluse, permettant de traduire différemment une phrase selon un nombre.

  • Tout ce qui est faisable en Python l'est également avec Django : ce langage est notamment doté de nombreuses bibliothèques de génération d'images ou de documents tels que des PDF, qui sont donc utilisables directement dans votre site Web. Un autre exemple est celui du colorateur de code Pygments (utilisé sur le Site du Zéro), utilisable uniquement en Python, qui vous permet en une ligne de colorer du code source pour l'afficher sur votre site web.

  • Enfin, le développement avec Django est extrêmement rapide : en effet, ce framework simplifie la vie de l'utilisateur pour de nombreuses choses. Combinant la puissance du langage Python et l'exhaustivité de Django, le développement d'un site web est tout simplement un jeu d'enfant : il n'est pas rare de trouver sur Internet des vidéos-tutoriels « Faites votre blog en 20 minutes avec Django » ou « Un wiki en 30 minutes avec Django et Markdown ». D'ailleurs, le slogan de Django (« The web framework for perfectionnists with deadlines », soit « Le framework web pour les perfectionnistes ayant des contraintes (de temps par exemple) ») montre bien la volonté de rapidité du développement.



Les nouveautés de cette version



Un cassage de la compatibilité ascendante



Ce qu'on appelle en informatique la compatibilité ascendante, c'est le fait de pouvoir réutiliser son travail fait avec d'anciennes versions en utilisant une nouvelle version de l'outil. Lors du passage de Django 0.96 à Django 1.0, les développeurs ont choisi de casser cette compatibilité : en d'autres termes, un site qui fonctionnait avec Django 0.96 ne fonctionnera plus avec Django 1.0. Cela peut sembler être une décision irréfléchie, mais elle était en fait nécessaire pour permettre aux développeurs de Django de retravailler depuis la base et de modifier des erreurs de jeunesse du framework.

En l'occurrence, les modifications nécessaires pour rendre un site compatible avec Django 1.0 ne sont pas extrêmement importantes : même si de nombreux composants ont été modifiés, les concepts de base de Django restent identiques : ainsi, tout n'est pas à refaire différemment. Les principaux changements non compatibles concernent l'interface d'administration, les formulaires automatiques, les vues génériques et le module de commentaires intégré. Tous ces changements sont expliqués sur la page Porting your apps from Django 0.96 to 1.0 de la documentation officielle.

Les résultats de ce long travail



Voyons une liste des principales modifications ayant été apportées à Django méritant ce numéro de version « 1.0 » :
  • Les méthodes indiquées comme dépréciées dans Django 0.96 ont été définitivement retirées du framework, les rendant ainsi inutilisables. Pour information, une fonction dépréciée signifie qu'elle ne doit plus être utilisée, par exemple parce qu'une nouvelle fonction plus puissante et réalisant le même travail a été créée. C'est le cas du module django.forms, remplacé par le module précédemment nommé django.newforms, renommé pour l'occasion.

  • Les templates sont automatiquement protégés contre les attaques de type XSS, en échappant automatiquement toute variable affichée via le moteur de template. Une variable peut être notée comme sûre en utilisant le filtre safe, de la façon suivante : {{ variable|safe }} . Cette sécurité peut être totalement désactivée en rajoutant au début du code un tag {% autoescape off %} .

  • Toute la partie administration automatisée a été reprogrammée pour utiliser le nouveau module de gestion des formulaires. De ce fait, elle est beaucoup plus puissante et personnalisable pour l'utilisateur. De plus, la personnalisation de l'administration se fait (contrairement à Django 0.96) hors du code des modèles, ce qui permet de séparer encore plus les différentes parties indépendantes du code. Cette nouvelle administration corrige de nombreux problèmes de personnalisation des versions précédentes qui étaient par exemple trop rigides pour modifier totalement les formulaires en fonction du modèle en cours d'édition.

  • L'unicode est maintenant géré par défaut par le framework. Pour ceux qui ne connaissent pas unicode, c'est un standard de représentation des caractères qui permet d'écrire aussi bien des lettres de notre alphabet que des signes chinois ou des notes de musique. Cela en fait un outil très puissant pour l'internationalisation : en effet, c'est une chose de moins à gérer pour le développeur, sans compter que les problèmes d'encodage et de représentation de caractères sont très souvent difficiles à résoudre.

  • Tout le système d'upload de fichier a été réécrit pour pouvoir utiliser différents backends de stockage de fichiers : cela vous permet par exemple de spécifier si vous voulez sauvegarder vos fichiers sur votre disque dur, dans une base de données, ou pourquoi pas même l'envoyer directement par email à l'upload sans le stocker :) . Tout cela passe par la réimplémentation d'une classe Storage qui sera utilisée par Django pour stocker les fichiers.

  • Django est maintenant utilisable avec Jython. Cela permet de mélanger du code Java et du code Python dans une application Django, mais également de servir des applications Django directement sur un serveur Java comme Tomcat ou JBoss. En effet, Jython est une implémentation de Python basée sur la JVM, permettant ainsi une interopérabilité entre ces deux langages.

  • L'Object Relationnal Mapping (aussi nommé ORM) a été amélioré dans cette version de Django : c'est en fait le composant permettant de faire le lien entre vos modèles et votre base de données, transformant les accès aux attributs de votre objet en requêtes SQL. Ce travail permet de nombreuses choses pour les développeurs de modèles, par exemple l'héritage de modèles ou la modification du champ OneToOneField. Ses performances ont également explosé avec l'amélioration des jointures automatiques. Le développeur peut également choisir à la sauvegarde d'un objet s'il souhaite mettre à jour l'objet précédemment sauvegardé en base de données (comportement par défaut) ou créer une nouvelle copie de cet objet dans la base.



Image utilisateur Image utilisateur Image utilisateur
Trois captures d'écran de l'interface automatisée d'administration de Django. Merci à eldalion pour les screenshots ;) .


Où apprendre Django, et où l'utiliser ?



Une version encore très jeune



La sortie de la version 1.0 de Django datant d'il y a moins d'une journée, très peu de documentations sont actuellement à jour : en effet, personne n'a encore eu le temps de modifier ses documentations. Ainsi la seule documentation Django sur laquelle vous pouvez compter est celle du site officiel, qui est bien entendu adaptée à la dernière version du framework web. Cependant, peu de changements incompatibles ont été réalisés entre les versions 0.96 et 1.0 : de ce fait, de nombreuses documentations sur Django 0.96 sont encore valables, mais à adapter selon les cas. Mixer une documentation non officielle sur Django 0.96 et la documentation officielle semble être le meilleur compromis à l'heure actuelle. Malgré tout, la communauté Django est suffisamment importante pour qu'on puisse espérer voir rapidement de nombreux tutoriels fleurir sur Internet.

De nombreuses ressources pas à jour mais utilisables



On trouve sur Internet de nombreux sites et tutoriels consacrés à Django 0.96. En voilà une liste non exhaustive :
  • [FR] Django de zéro : vos projets Python sur le web ! Et oui, un tutoriel Django est disponible sur le Site du Zéro :) . Il a été écrit par Skaz et n'est pas encore fini, l'auteur attendant la sortie de la version 1.0 pour le mettre à jour et le continuer. On peut donc s'attendre à le voir évoluer et s'améliorer dans les semaines à venir.

  • [EN] Le Django book. C'est une référence dans le domaine, presque plus complet que la documentation officielle et sous la forme d'un livre consultable sur Internet. Il est également vendu en édition papier, et une traduction en français de son contenu est en cours.

  • [FR] Django-fr.org. Tout simplement le site officiel de la communauté Django française, contenant une traduction partielle de la documentation de Django 0.96 en français, et notamment de ses tutoriels. À ne pas rater si vous comptez apprendre Django ;) .

De nombreux autres sites sont disponibles sur la toile pour l'apprentissage de Django, mais ces trois sites ont tout particulièrement attiré mon attention. N'oubliez tout de même pas de vérifier sur le site officiel en cas de problèmes de compatibilité entre les deux versions de Django.

Où faire héberger son site ?



Tout d'abord, le wiki de Django tient à jour une liste d'hébergeurs permettant l'utilisation du framework pour son site. Dans cette liste, je vous recommande le très bon Alwaysdata, hébergeur français, proposant une offre gratuite (ce sont les seuls dans ce cas) permettant l'utilisation de Python, PHP et virtuellement tout langage web, malgré son faible espace disque pour le pack gratuit (10 Mo). Cependant, vous pouvez tout à fait héberger le code de votre site chez Alwaysdata et les données chez un hébergeur externe de plus grande capacité de disque dur ;) . Le support y est très bon, et une documentation est disponible pour vous aider à installer votre site. Notez d'ailleurs que le site d'alwaysdata est lui-même codé avec Django ;) .

Liens relatifs





Pour résumer cette news, Django 1.0, c'est 2000 bugs résolus, 450 000 lignes de codes modifiées, ajoutées ou supprimées, 40 000 lignes de documentation rédigées, et cela sur 530 jours de développement pour sortir comme prévu (avec cependant deux jours de retard) la dernière mouture de Django, améliorant de nombreux points négatifs des versions précédentes, tout en améliorant les performances. Cependant, gardez à l'esprit qu'un site fait pour une version précédente de Django ne fonctionnera pas avec la version 1.0 du framework ;) .

Google Chrome, ou le navigateur Web de Google !

287 commentaires # Par Savageman, le 03/09/2008 à 07:13:44
Image utilisateur
Alors que nous vous parlions des récentes sorties de Firefox 3 et d'Opera 9.5, Google arrive sur le marché des navigateurs plus ou moins subitement. L'annonce peut en effet surprendre au premier abord puisque force est de constater qu'après avoir lancé quelques applications Web très utilisées telles que Google Maps, GMail, Google Docs, Google Calendar, Google Reader, Youtube, etc., il ne manquait plus qu'au géant du Web à créer son propre navigateur Internet. C'est donc aujourd'hui que Google lance son tout premier navigateur baptisé Google Chrome.

Quels intérêts pour l'entreprise de créer un navigateur ? Quelles sont les fonctionnalités de Google Chrome ? Peut-il faire de l'ombre aux navigateurs modernes ? Tant de questions auxquelles on tentera de répondre le plus précisément possible dans cette news.

Pourquoi lancer un nouveau navigateur Web ?



Google pense qu'il peut fournir une meilleure expérience du côté de l'utilisateur et en même temps promouvoir l'innovation sur la toile et lui permettre une expansion plus rapide.

Les équipes de développeurs de Google ont réalisé ce navigateur en partant de zéro. Les développeurs sont en effet partis du constat que le Web avait bien évolué depuis sa création : avant, on avait des pages textuelles simples et aujourd'hui on a des pages riches et des applications interactives. Dans cette optique, il fallait repenser la façon dont les navigateurs Web sont faits et penser à une plateforme pour les pages et les applications en ligne afin de les rendre plus accessibles aux utilisateurs.

Pour en savoir plus sur les raisons et les intentions de Google, je vous invite à lire cette présentation de Chrome sous forme de bande dessinée par Google.

Image utilisateur
Le Site du Zéro sous Google Chrome (cliquez pour agrandir)


C'est ainsi qu'est né Google Chrome dont voici les principales qualités d'après Google :
  • Stabilité : lorsqu'on écrit un email important, le plantage du navigateur n'est pas envisageable. Une seule page web ne peut pas faire planter tout le navigateur, seul l'onglet posant problème s'arrête ce qui ne vous fait pas perdre tout votre travail ;
  • Rapidité et réactivité : démarrage du logiciel et exécution de pages Web rapides ;
  • Sécurité : il faut donner la tâche dure aux malwares ;
  • Ergonomie : une interface claire, simple et efficace ;
  • Adaptabilité aux applications Web récentes ;
  • Open-source : un projet totalement libre et gratuit : les utilisateurs doivent pouvoir utiliser les idées des autres et inversement.


Des détails plus techniques sur Google Chrome



Rapidité : Webkit et V8



V8
Google Chrome se veut rapide. Pour atteindre ce but, la structure interne du logiciel a été réfléchie et se trouve être très différente de celle des autres navigateurs. Ainsi, chaque onglet a son propre processus et est de ce fait totalement indépendant ; autrement dit, vous pouvez très bien fonctionner sur un site Web dans un onglet alors qu'un autre est en train de planter. Lorsque vous fermez l'onglet, vous détruisez donc un processus. Ceci optimise également la mémoire : l'utilisation de la RAM ne grimpera pas indéfiniment à cause des fuites, car dès que vous fermez un onglet ou changez de site, de la mémoire est libérée.

Chaque plugin a également son processus, de sorte que s'il plante, il n'affecte pas la page dans laquelle il s'exécute. Par exemple, si le plugin flash sur youtube plante, le reste de la page s'affichera sans encombre.

Toujours dans le domaine de la vitesse, c'est le moteur de rendu open-source WebKit (développé entre autres par Apple, qui l'utilise dans Safari, et issu du moteur KHTML de KDE) qui a été choisi pour sa rapidité.

Une machine virtuelle Javascript a également été développée : V8. Ceci assure une sécurité et une indépendance entre les différents systèmes d'exploitation. Le moteur Javascript profite d'une innovation : au lieu que le code soit analysé puis interprété à l'exécution, il est analysé puis compilé en code machine directement compréhensible par le processeur, ce qui rend l'exécution bien plus rapide, car il n'y a plus besoin de la phase d'interprétation. Il profite également d'un système de recyclage de la mémoire plus précis. Enfin, le noyau de V8 est indépendant du navigateur, ce qui le rend utilisable par un autre navigateur que Chrome.

Expérience utilisateur



Image utilisateur

La page d'accueil a été réfléchie. Vous y trouverez neuf des sites les plus visités avec un design comme le Speed Dial d'Opera. Vous y trouverez également vos sites les plus recherchés ainsi que ceux mis en favoris et visités récemment (vos derniers onglets fermés).

Lorsque vous tapez des mots dans la barre d'adresse, Google Chrome recherche dans vos sites les plus visités et dans votre historique, à la manière de Firefox et d'Opera, mais vous propose aussi des suggestions de pages populaires que vous n'avez pas visitées.

Un mode de navigation privé est également de la partie : le mode "incognito". C'est un mode en lecture seule où rien n'est enregistré sur votre ordinateur (pas d'historique). Les cookies sont détruits lorsque vous fermez l'onglet.

Sécurité et navigation sûre


Plugin

Chaque onglet étant isolé, ils ne peuvent pas communiquer entre-eux. Les droits de chaque processus ont également été limités, de sorte qu'ils ne puissent pas écrire sur votre disque dur ou bien lire des fichiers sensibles (comme Mes Documents ou le Bureau). Cela empêche les malwares de s'installer sur votre ordinateur. De même, ils ne peuvent pas utiliser ce qui se passe dans un onglet pour affecter le comportement d'un autre onglet.

Enfin, la prévention contre le phishing est également au rendez-vous. Google Chrome met à jour en permanence sa liste de sites malveillants (pouvant contenir des malwares ou bien étant liés au phishing) et peut donc prévenir l'utilisateur en cas de danger. Leur API sera libre et donc d'autres navigateurs pourront utiliser cette liste pour compléter leur répertoire.



Téléchargez la version bêta



Depuis peu, une version bêta de ce nouveau navigateur est disponible. Seuls les utilisateurs de Windows pourront la tester pour le moment, les utilisateurs de Linux et Mac devront patienter un petit moment (il n'y a pas de date précise à ce sujet).

Pour télécharger la version Windows, il faudra vous rendre sur le site de Google Chrome, vous pourrez à ce moment télécharger le navigateur et voir les fonctionnalités proposées.




Analyse



D'après Google, le but de Chrome est de rendre la toile meilleure pour les internautes, mais également pour les programmeurs. Leur navigateur étant open-source, ils veulent que les fonctionnalités intéressantes soient implémentées dans tous les navigateurs, et non dans un seul, de sorte que les développeurs puissent s'en servir.

Il est trop tôt pour tirer des conclusions sur les conséquences de la sortie d'un tel navigateur, bien que cela n'ait pas empêché de nombreux analystes de donner leurs avis sur la question :

  • Pour certains, la cible est Internet Explorer qui gêne Google dans son développement car le navigateur est (quoiqu'on en dise) toujours à la traîne.
  • Pour d'autres, la cible serait Firefox, et alors la position de Google serait pour le moins ambigüe (ils ont embauché plusieurs développeurs de Firefox il y a quelques années, et Firefox dépend pour le moment énormément de Google pour ses besoins financiers). Malgré tout, le partenariat commercial entre Firefox et Google vient d'être reconduit pour 3 ans.
  • Plus surprenant, et plus visionnaire aussi peut-être, la cible ne serait pas un navigateur mais... Windows.


Cette dernière option ne serait pas complètement folle : Google crée de nombreuses applications Web et fait le pari que dans un futur plus ou moins proche tout se fera via le navigateur : envoi et réception de mails, lecture de vidéos, partage de photos, agenda, rédaction de documents texte, tableur, diaporamas... Autant de services qui, si on y réfléchit bien, sont déjà proposés par Google !

Le BicPhone, un mobile aussi simple que les stylos Bic

111 commentaires # Par minicr0, le 02/09/2008 à 06:31:06
Image utilisateur

Au moment où les plus grandes marques de téléphonie mobile participent à une course à l'innovation technique, une nouvelle demande est apparue. En effet, alors que les téléphones portables sont dotés de plus en plus de fonctionnalités, certains utilisateurs souhaitent disposer de téléphones simples d'utilisation dotés des fonctions téléphoniques de base. Ainsi, Bic souhaite commercialiser des téléphones portables avec le strict nécessaire.

Après l'iPhone, Orange soutient donc Bic pour lancer le BicPhone, conçu uniquement pour téléphoner, être un objet simple, utile, compact et à la fois tendance.

Caractéristiques



Voici quelques caractéristiques du téléphone :
  • Vendu avec batterie chargée, carte SIM et 60 minutes de communication offerte à condition de se déclarer via une lettre à envoyer à l'opérateur ;
  • Possibilité d'ajouter du crédit téléphonique via les mobicartes d'Orange ;
  • Kit mains libres et chargeur inclus ;
  • Disponible en deux coloris : vert et orange ;
  • Prix : 49 €.

Comme le montrent ses caractéristiques, le BicPhone est avant tout un téléphone d'appoint.
Malgré la simplicité du téléphone, il dispose du minimum pour une bonne utilisation à savoir un écran 65 000 couleurs, un menu personnalisable, une vingtaine de sonneries, la possibilité d'envoyer et recevoir des SMS, de planifier des alarmes, ainsi que quelques extras tels qu'une calculatrice et un Tetris.

Notez que le BicPhone sera disponible à peu près dans toutes les enseignes commerciales telles que les kiosques, les bureaux de tabac et les supermarchés. Il sera, comme vous pouvez le voir sur la photo ci-dessous, vendu à l'unité dans un emballage très simple de la même manière que les stylos à bille de la marque Bic. ^^

Image utilisateur


Prêt à l'emploi à peine sorti de son emballage, le BicPhone se révèle être une offre avec un très bon rapport qualité/prix, accessible autant pour l'acheter que pour l'utiliser.

Liens relatifs



Adium 1.3 : la messagerie instantanée sur Mac améliorée

54 commentaires # Par Vinchz, le 31/08/2008 à 20:10:25
Considéré par beaucoup comme étant le meilleur logiciel de messagerie instantanée sur Mac, Adium X 1.3 est enfin sorti. Libre, gratuite, dotée d'une interface entièrement personnalisable, cette nouvelle version permet de discuter via Facebook et assure un meilleur support du protocole MSN.

L'apparition d'un protocole supplémentaire : le support de Facebook



Image utilisateur

Alors que Dave Morin, directeur de plateforme chez Facebook, annonçait sur son Twitter les 100 millions d'utilisateurs actifs sur le site, Adium assure désormais le support de Facebook. Si vous n'êtes pas inscrit au réseau social, sachez qu'au bas de votre écran apparaît une petite barre d'outils vous permettant de voir vos amis connectés et de leur parler. Bien que l'initiative paraisse séduisante, vous demeurez cependant dépendant de votre navigateur internet qui, à la base, n'est pas vraiment conçu pour cette utilisation.

Adium vous permet donc de vous authentifier avec votre compte Facebook afin d'interagir avec vos amis connectés, et ce même si vous n'êtes pas identifié sur le site dans votre navigateur. Immédiatement, un groupe "Facebook" est créé dans votre liste de contacts habituelle et vous pouvez discuter avec eux comme si vous étiez sur MSN Messenger ou Jabber.

Image utilisateur Image utilisateur
La même conversation sur le site de Facebook et via Adium.


Par ailleurs, les utilisateurs de MobileMe pourront, eux aussi, importer leurs contacts puisqu'Adium supporte désormais le successeur du service .Mac.

Un léger lifting et quelques nouvelles fonctionnalités



Meilleur support de MSN



Vous le savez peut-être, Adium est très populaire pour sa personnalisation presque illimitée. En effet, en passant d'un utilisateur à l'autre, le logiciel peut paraître totalement différent, voire même méconnaissable. Disponible sur le site Adium Xtras, de nombreux éléments de l'interface du logiciel peuvent être téléchargés et installés afin de personnaliser Adium. Citons notamment différentes icônes pour votre dock, des sons de notifications, des thèmes pour votre liste de contacts et votre fenêtre de discussion, des scripts, etc. Pour ne pas se retrouver aux prises avec un Adium anarchique, les développeurs ont ajouté de nouvelles icônes de service (pour Facebook, MSN, ICQ, Jabber, AIM, etc.) afin d'uniformiser un minimum l'aspect visuel du logiciel. Par ailleurs, vous pouvez désormais modifier votre message personnel sur MSN dans les préférences du logiciel, de la même manière que vous le feriez avec Windows Live Messenger. Notons que cette option est également disponible pour un autre logiciel de messagerie instantanée pour Linux : Pidgin. En effet, pour ceux qui ne le sauraient pas, Adium est basé sur le moteur de ce dernier et hérite de ses mises à jour.

Des contacts mieux gérés



Image utilisateur
Tout comme dans Pidgin, il est possible, sur Adium, de modifier le nom de vos contacts si ceux-ci en portent de trop longs par exemple (ce sont des raccourcis, des alias). Pour ce faire, il suffit d'afficher les informations des contacts qui ont, elles aussi, changé d'apparence. En effet, alors qu'elles se présentaient sous forme d'onglets dans les versions antérieures, elles sont désormais classées par de petites icônes significatives et héritent d'une apparence plus soignée, proche du style Cocoa (avec des effets de fondu agréables par exemple).

Outre le design de la fenêtre d'informations qui a un peu changé, de nouvelles fonctionnalités ont fait leur apparition. Il est désormais possible d'ajouter des notes sur vos contacts ; notez d'ailleurs que vous pourrez importer des notes des contacts sauvegardés sur votre Mac via le programme Carnet d'adresses livré avec Mac OS X. Autre nouveauté : vous avez la possibilité de crypter certaines conversations. Les développeurs présentent le cryptage comme étant totalement transparent pour MSN via OTR. Pour plus d'informations à ce sujet, consultez le site du projet OTR.

Image utilisateur
Toujours pour rester dans la fenêtre des contacts, sachez que vous disposez désormais d'une recherche pour trouver plus facilement les contacts auxquels vous voudrez parler ; ce qui ne sera pas sans ravir les personnes ayant énormément de contacts.

Attention cependant, il faut que votre liste de contact ait un affichage dit Standard (réglage à effectuer dans les préférences du logiciel) pour que la recherche soit effective. Placez-vous dans votre liste de contacts, saisissez quelques lettres et Adium cherche dynamiquement les contacts qui contiennent ces lettres, à la manière de Spotlight (moteur de recherche pour Mac OS X).

Image utilisateur

Adium X 1.3 est donc une version incontournable pour ses utilisateurs. Certes, elle corrige quelques problèmes internes (tels qu'une meilleure gestion de la RAM occupée et l'amélioration des performances), mais elle propose avant tout quelques nouvelles fonctionnalités visibles pour l'utilisateur (tel que, par exemple, le support de Facebook).

Liens externes


Le village du libre à la braderie de Lille les 6 et 7 septembre

36 commentaires # Par Anto59290, le 30/08/2008 à 21:39:27
Image utilisateur
La braderie de Lille est sûrement l'une des plus grande braderies d'Europe. En effet chaque année, elle rassemble entre 2 et 3 millions de visiteurs. Cet événement qui aura lieu les 6 et 7 septembre génère un grand brassage culturel qui permet à certaines associations d'en profiter pour sensibiliser la population.

Le village du libre



C'est donc au milieu de la bière et des moules que sera présent le "village du libre". Après deux années en tant que "simple exposant", l'association Chtinux va passer à l'étape supérieure. C'est sur la Place du Vieux Marché aux Chevaux que se dérouleront les animations. Plusieurs associations locales s'en chargeront :

Ces différentes associations seront accompagnées et aidées par des organismes bien plus renommés tels que :

Diverses animations seront proposées : en plus de la découverte de logiciels et d'artistes libres, de conseils pour néophytes ou de mini-stages de maniements aura lieu une burnstation. Le principe est simple : accompagné(e) par un connaisseur en logiciels libres, vous composez votre propre musique en maniant divers logiciels, tout cela étant basé sur une banque de musiques libres de droits. Enfin, quand vous aurez terminé, vous pourrez repartir avec vos productions gravées sur un CD. Oxyradio diffusera d'ailleurs uniquement de la musique libre.

Voici les informations qu'il faut retenir à propos de cet événement :
Image utilisateur
  • Lieu : place du Vieux Marché aux Chevaux (voir sur Google Maps) ;
  • Date : les 6 et 7 Septembre ;
  • Animations : initiations, burnstation, musique, mini-stages, etc. ;
  • Musique : Animé par Oxyradio (6 bénévoles présents en permanence) ;
  • Contacts : Alexandre Storoz ou Chtinux.


Un événement à ne pas manquer si vous êtes amateur du libre, si vous recherchez des conseils, ou si vous voulez aider des gens à progresser.

Liens relatifs



Un grand merci à Moejul et à vincent1870

La rentrée approche...

154 commentaires # Par wgmpgp et Ziame, le 29/08/2008 à 18:00:59
Alors que les jours raccourcissent, que le temps se refroidit et que tombent les premières pluies automnales, les grandes vacances tirent à leur fin pour beaucoup d'entre nous. Collège, Lycée, Prépa, Fac... dans quelques jours ou semaines, nous y serons tous, relancés dans le triptyque métro / boulot / dodo pour un an (ou du moins jusqu'aux prochaines vacances).

Ce n'est guère réjouissant me direz-vous et vous vous demandez sûrement pourquoi nous venons vous parler de ça... Eh bien non, raté, ça n'est pas pour vous donner le cafard, bien au contraire ! Pour marquer la fin de ces vacances et finir sur une note un peu plus joyeuse tous ensemble, nous vous avons organisé... un grand week-end de jeux !

De vendredi 18H à lundi 14H, le Site du Zéro, la communauté de jeu Noobulous et le clan Urban Terror Nux vous proposent une sélection de jeux gratuits, multi-plateformes (c'est-à-dire qu'ils fonctionnent sous les trois systèmes d'exploitation principaux, à savoir Windows, Linux et Mac OS), pour vous amuser avec les membres de la communauté du Site du Zéro avant de reprendre ;) !

Sans plus attendre, découvrons ensemble les jeux qui vont vous être proposés ce week-end...


Tremulous (FPS stratégique)



Image utilisateur
Tremulous est un FPS qui a déja été joué lors d’une précédente soirée jeu sur le Site du Zéro, et donc plus ou moins connu parmi les membres de ce site. Basé sur le moteur de Quake III comme une grande partie des jeux libres, il mélange un côté FPS et un côté stratégie de manière très élégante.

Le combat se fait cette fois entre humains et aliens. Chacune des deux races a ses caractéristiques propres et différentes. Au fur et à mesure de la partie, selon le nombre d’humains ou d’aliens tués par votre équipe, de nouveaux aliens et de nouvelles armes sont disponibles, permettant de redynamiser la partie. Alors que les humains combattent en utilisant armes et armures disponibles dans leur armurerie, les aliens sont eux basés sur un système d’évolutions qui modifie leur apparence, leur taille et leur capacités.

Un autre aspect de ce jeu est tout le côté construction de base : en effet, chaque camp (humain ou alien) possède une base composée de nombre de batiments différents, permettant soit de se défendre contre les attaquants, soit de booster ses propres coéquipiers. La construction de base est quelque chose de très tactique et ainsi pas très recommandé pour les débutants du jeu : en effet, si la base est détruite, la partie est perdue ;) .




Warsow (FPS)



Image utilisateur
Warsow (également orthographié War§ow) est un jeu de tir à la première personne qui n’a à l’heure actuelle jamais été joué sur le Site du Zéro. C’est donc une première pour ce jeu très intéressant et original.

Basé sur le moteur de jeu QFusion (lui même basé sur le moteur de Quake II), il joue notamment sur la vitesse et les reflèxes des joueurs pour créer des parties intéressantes et amusantes. Plusieurs modes de jeux sont disponibles, du Capture the Flag au Team deathmatch en passant par le Clan Arena (où le but est de tuer tous les joueurs de l'équipe adverse sans pouvoir revivre avant le début de la partie suivante).

Une partie de son originalité vient également de son mode Instagib, qui se combine aux autres modes de jeux en ajoutant une nouveauté : tout le monde possède la même arme, le Railgun, avec des munitions illimitées et des dégats augmentés. De ce fait, un tir réussi suffit à tuer l’adversaire, rajoutant un peu de piquant aux parties.




Teeworlds (FPS 2D)



Image utilisateur
Voilà encore un jeu qui n’a jamais été joué lors d’une soirée du Site du Zéro. Teeworlds est un jeu de tir à la troisième personne où vous incarnez un Tee, qui est une sorte de petite créature ronde.

Il se joue en 2D, et propose différents modes de jeux variants du Team Deathmatch (où le but est tout simplement d’exterminer l’équipe adverse) au Capture the flag (y a-t-il vraiment besoin d’expliquer ?). Pour réaliser vos objectifs et gagner la partie, différentes armes sont disponibles, du maillet au laser en passant par le lance-roquettes. Pour les gens qui connaissent, son gameplay est très proche de celui de Soldat. De plus, il est très léger et se télécharge en moins de cinq minutes, il n'y a donc aucune excuse pour ne pas l'essayer :p .

Une de ses originalités vient du grappin que possède chaque joueur, permettant de s’accrocher aux murs et aux plafonds pour esquiver les tirs et se déplacer plus rapidement. Il est aussi utilisable dans le but de tirer les ennemis vers vous, ou pour les ralentir. Une certaine habileté est nécessaire pour le contrôler correctement, mais une fois maitrisé, il s’agit d’un élément crucial du jeu qui le rend différent de tous les autres.



Urban Terror (FPS)



Image utilisateur
Urban Terror est un FPS (First Person Shooter) basé comme Tremulous sur le moteur de jeu de Quake III.

D'une prise en main facile, vous pouvez très rapidement commencer à y jouer en vous amusant. Vous incarnez alors un personnage appartenant à l'une des deux équipes constituant ce jeu et devez, avec l'aide de vos coéquipiers, remplir des missions définies par le mode de jeu choisi. On peut citer par exemple le célèbre Capture the flag (capture du drapeau), mode de jeu présent sur la majeure partie des FPS ou encore Team survivor (équivalent du Clan Arena de War§ow), où le but est de protéger son équipe tout en tuant les membres de celle adverse. Mais Urban Terror ne se limite pas à ces deux modes de jeux et en propose moult autres, que nous vous invitons à découvrir par vous même ;) .

Ce jeu est, à chaque fois que nous le proposons pour une soirée, fortement apprécié et l'ambiance y est très sympathique. Donc si vous aimez les FPS et n'avez jamais essayé celui-ci, ça peut être une occasion pour vous de l'étrenner ;) .




Tetrinet (Tetris-like)



Image utilisateur


Marre des jeux compliqués, lourds, longs à télécharger et installer ? Eh bien Tetrinet n'est rien de cela. Petit jeu de Tetris multijoueurs tout simple jouable en ligne, il séduit encore, à chaque soirée de jeux organisée par le Site du Zéro, de nombreux joueurs. Cela fait maintenant au moins 6 mois que ce jeu est disponible à chaque soirée de jeux, et nous ne ferons cette fois pas exception à la règle ;) .

Dans une ambiance très bon enfant, Tetrinet se joue par salons de 6 joueurs, individuellement ou par équipes. Au fur et à mesure qu'un joueur casse des lignes de briques, il peut gagner des bonus et malus à appliquer à ses adversaires ou à lui-même, ce qui fait qu'une partie n'est jamais gagnée à l'avance... et le jeu garde son suspense jusqu'à la fin. Bonne ambiance et amusement garantis !




En complément : Mumble (VoIP)



Pour vous permettre de vous amuser encore plus pendant ce week-end, nous vous proposons un service supplémentaire en plus de ces jeux : Mumble, qui est un logiciel proche du très connu Teamspeak, mais en version libre. Il vous permettra de discuter vocalement avec les gens se trouvant sur le même serveur que vous, et ainsi de rendre ce week-end beaucoup plus convivial que les précédents.

Le serveur Mumble est divisé en une salle de discussion par jeu, et comporte aussi une salle « Bar » pour discuter de tout et n’importe quoi. N’hésitez pas à passer voir les autres joueurs pour demander des conseils ;) . Vous pouvez télécharger Mumble pour Windows, Mac OS X ou Linux.


Comment venir jouer sur les serveurs du Site du Zéro ?



Pour se connecter aux serveurs de jeux, voilà les informations nécessaires, à rentrer à l'emplacement adéquat selon le jeu (la manoeuvre exacte est expliquée dans les instructions de fonctionnement de chacun des jeux) :

[Jeu] Nom du serveurAdressePortMot de passe
[Tremulous] Site du Zéro - Serveur 1 sdz.noobulous.fr 30720 cartable
[Tremulous] Site du Zéro - Serveur 2 sdz.noobulous.fr 30721 cartable
[War§ow] Site du Zéro - Instagib sdz.noobulous.fr 44400 cartable
[War§ow] Site du Zéro - Deathmatch sdz.noobulous.fr 44401 cartable
[Teeworlds] Site du Zéro - Deathmatch sdz.noobulous.fr 8303 cartable
[Teeworlds] Site du Zéro - Capture the Flag sdz.noobulous.fr 8304 cartable
[Teeworlds] Site du Zero - CTF Instagib sdz.noobulous.fr 8405 cartable
[Teeworlds] Site du Zero - Capture the Tee sdz.noobulous.fr 8306 cartable
[Urban Terror] Site du Zéro - Week-end nux-team.net 27960 cartable
[Tetrinet] bart.siteduzero.com / /
[Mumble] sdz.noobulous.fr 64738 /


Sauf imprévus, les serveurs resteront ouverts jusqu'à lundi à 14h. En cas de problème technique sur un serveur de jeu, contactez soit wgmpgp par message privé, ou envoyez un email à root@noobulous.fr qui sera automatiquement transmis aux administrateurs des serveurs. Les administrateurs seront repérés pendant le jeu par un tag [ADMIN] dans leur pseudonyme et seront susceptibles de vous aider si vous n'arrivez pas à jouer.

Profitez bien de ces derniers instants de jeu avant la rentrée ;) .

DebSudoku, ou comment résoudre des sudokus avec dpkg

32 commentaires # Par wgmpgp, le 28/08/2008 à 22:35:32
Image utilisateur
Daniel Burrows, développeur de logiciels libres et chercheur en informatique, nous a fait part ce samedi 23 août d'une expérience amusante qu'il a réalisée. Son but : utiliser le gestionnaire de paquets de la distribution Linux Debian (nommé dpkg) pour résoudre le puzzle japonais bien connu : le sudoku. Il l'a fait en réponse à un article posté sur le blog de Russel Coker, qui évoquait ironiquement le fait que Debian n'avait pas besoin d'un gestionnaire de paquets capable de résoudre un Sudoku. Voilà un moyen original de résoudre des sudokus qui aurait dû être utilisé par les participants au concours de programmation en C++.

Faisons tout d'abord un petit rappel avant d'entrer dans le coeur de cette brève. Un gestionnaire de paquets est un logiciel pré installé avec 99% des distributions Linux (de cette façon, les utilisateurs de Slackware sont contents :-° ), permettant d'installer très facilement des logiciels, en gérant les dépendances et les conflits entre les programmes. On peut notamment citer dpkg, utilisé par Debian, portage, de Gentoo, ou pacman, d'Archlinux. Ainsi, le gestionnaire de paquets va prendre un logiciel sous forme d'un paquet (la plupart du temps une archive, comme un fichier zip), et va suivre les instructions pour l'installer (par exemple : « pour m'installer, tu auras besoin d'installer le logiciel X, et il faut que le logiciel Y ne soit pas installé »).

De l'autre côté, un sudoku est un puzzle de 9 cases sur 9 (sauf variantes), à remplir selon des règles simples :
  • Une ligne doit contenir tous les chiffres de 1 à 9 ;
  • Une colonne doit contenir tous les chiffres de 1 à 9 ;
  • Un bloc de 3 chiffres sur 3 (il y en a donc 9 sur la grille) doit également contenir tous les chiffres de 1 à 9.

Image utilisateur
Le lien entre les paquets et le sudoku est tout simplement le fait que les deux peuvent êtres exprimés sous la forme de dépendances et de conflits. En effet, pour que notre sudoku soit rempli, il faut que les 9 lignes, les 9 colonnes et les 9 blocs soient remplis. On peut ainsi très facilement faire le lien avec les paquets logiciels : par des relations de dépendances, ce schéma est très facilement reproductible. De la même manière, un sudoku peut être vu sous la forme de conflits : deux chiffres identiques sur la même ligne sont en conflit, et de même pour les colonnes et les blocs.

Ce travail peut sembler inutile à l'utilisateur. Cependant, cela permet aux développeurs d'isoler des problèmes et d'améliorer la résolution des dépendances du gestionnaire de paquets : en effet, l'auteur de DebSudoku a remarqué qu'une recherche de solutions en utilisant des conflits est beaucoup plus rapide que celle utilisant les dépendances, mais également que certaines modifications du code permettent une résolution plus rapide des conflits. Daniel Burrows a également évoqué trois idées permettant d'augmenter sensiblement la vitesse de résolution des dépendances dans dpkg, prouvant ainsi que son expérimentation n'était pas tout à fait inutile. :)

Google Suggest améliore la pertinence de vos recherches

109 commentaires # Par Black-, Cam et scientifix94, le 27/08/2008 à 19:31:51
Aviez-vous déjà remarqué sur la page d'accueil de Yahoo l'AutoSuggest ? Cette option est très pratique : elle permet de faire des recherches plus rapidement et efficacement en proposant des mots clés ayant un rapport avec ceux déjà recherchés.

De son côté, Google Suggest existe depuis environ un an, mais était en version bêta-test et on devait aller l'activer pour y avoir accès (comme de nombreuses autres fonctionnalités en test). Mais dès maintenant, ce n'est plus le cas car Google Suggest est désormais lancé officiellement !

Image utilisateur
Démonstration de Google Suggest (cliquez pour agrandir)


On notera que cette fonctionnalité était déjà intégrée dans la barre de recherche Google sur Firefox.

Google Suggest permet de baisser considérablement le temps de vos recherches et de voir les requêtes les plus pertinentes. Par exemple, si vous ne savez pas comment écrire ce que vous recherchez (c'est peut-être aussi le but de votre recherche), Google Suggest vous montrera des choix au fur et à mesure que vous écrivez (on appelle ça l'autocomplétion). Cette fonctionnalité vous évitera peut-être le fameux "Essayez avec cette orthographe".

Il y a quelques différences entre l'AutoSuggest de Yahoo! et celui de Google : ce dernier offre quelques options de plus telle que la possibilité de savoir combien il y a de résultats avec certains mots clés. Vos recherches deviendront alors plus faciles et plus rapides. On notera qu'il faut que le JavaScript soit activé pour bénéficier de cette fonctionnalité. ;)

En résumé, cette nouvelle fonctionnalité permet :
  • D'éviter les fautes d'orthographe, les corriger ;
  • D'aider à formuler des recherches, à trouver les mots clés ;
  • De réduire le temps de frappe.

Page : 116  115  114  113  ...  3  2  1 

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news | XHTML 1.0 | CSS 2.0
Édité par Simple IT SARL : Nous contacter | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 149 Zéros connectés | Requêtes SQL 8 requêtes | Temps de génération de la page : Total (SQL) 0.1117s (0.0909s)