Journal du Net > Développeur  > Algorithme et modélisation >  Les Expliquez-moi de JDN Développeurs
Magazine
 
29/12/2008

Tous les expliquez-moi

Décryptez le fonctionnement de l'informatique et des processus de développement.
  Envoyer Imprimer  

Eclipse4SL : le développement Silverlight dans Eclipse
Soutenu par Microsoft, le projet français a pour but de favoriser l'intégration d'interfaces Web riches basées sur Silverlight à une couche applicative Java.

Riena : le développement client/serveur dans Eclipse
Orientée services, la nouvelle plate-forme de développement et de déploiement s'adosse à l'Eclipse Rich Client Platform et l'infrastructure Equinox : l'implémentation OSGI de la fondation.

Eclipse PDT 2.0 : l'orienté objet à l'honneur
Dans sa version 2.0, le plugin PHP de la fondation Eclipse se veut plus performant. Il implémente notamment un nouveau moteur d'indexation et de cache, et un environnement de travail refondu.

Google Chrome 2.0 : un moteur de rendu optimisé
Le moteur de recherche a dévoilé le 13 janvier une pré-beta de la version 2.0 de son navigateur, ciblant les développeurs. Au programme : un meilleur support des CSS, et une implémentation "native" de HTTP.

Fusion de Ruby on Rails et Merb : quelles implications ?
Les deux infrastructures de développement Ruby ne feront bientôt plus qu'une. Suite à ce mariage, Ruby on Rails devrait gagner en souplesse et en modularité.

WCAG 2.0 : une clarification des règles d'accessibilité
Dans leur nouvelle version, les règles recommandées par le W3C en matière d'accessibilité Web ont été simplifiées. Objectif : faciliter l'appropriation et la diffusion de ces bonnes pratiques

Blog : pagination des commentaires en Ajax, avec Rails
Voici comment aboutir à une pagination des commentaires dans une application Ruby on Rails. Exemple avec Typo : un outil de blogs basé sur cette infrastructure de développement.

C#4 : un typage dynamique des objets
Décryptage avec codes à l'appui des principales nouveautés des versions 4 et 5 du langage de développement orienté objets de Microsoft, avec Didier Girard, directeur de l'innovation de Sfeir.

Windows Azure : l'architecture cloud de Microsoft à la loupe
La plate-forme Azure permet de développer et déployer des applications serveur, accessibles par Internet, et capables d'interagir avec d'autres systèmes. Un produit qui répond aux initiatives d'Amazon et Google sur le cloud.

L'accessibilité des menus de navigation en cascade
Au survol de la souris, le menu en cascade se déploie en sous-menus sur plusieurs niveaux. Mal conçu, ce moyen de navigation pourra néanmoins gêner l'accessibilité de l'application pour les personnes handicapées.

HTML 5, des balises pour la recherche sémantique
Malgré l'apparition du XHTML comme nouveau standard de balisage pour le Web, HTML 5 est en cours de développement. Le W3C a publié en janvier 2008 une première version de travail.

Les fichiers log, des indicateurs utiles
Les journaux d'évènements sont des fichiers textes enregistrant de manière chronologique les évènements exécutés par un serveur ou une application informatique. Un contenu qu'il faut savoir déchiffrer.

Les ports, passerelles d'accès au réseau
Les flux applicatifs transitent sur les réseaux IP par le biais de protocoles. A chaque protocole correspond une prise réseau unique sur le serveur ou la machine cliente, une passerelle également appelée port.

Le Bios, noyau de base d'un ordinateur
Elément essentiel d'un PC, le micrologiciel gère les composants matériels de l'ordinateur. A chaque mise sous tension, il charge les périphériques de base et teste leur bon fonctionnement.

Les dossiers techniques en gestion de projet
De la phase d'analyse fonctionnelle à la mise en œuvre en passant par la réalisation, chaque étape d'un projet est validée par des livrables. Une documentation qui sert de référence pour l'ensemble des intervenants.

Ruby : l'absence de standardisation pointée du doigt
Le langage orienté objets dispose d'une syntaxe simple et efficace qui fait son succès. A l'instar de Python, il tourne sur différentes plates-formes applicatives, dont J2EE et Microsoft .Net.

Les passerelles, points de liaison entre deux réseaux
Intervenant au niveau des couches de transport, les passerelles gèrent l'échange de données entre univers IP. Plus les infrastructures et protocoles en présence seront différents, plus leur fonctionnement sera complexe.

Python : des implémentations non standards
Le langage orienté objets a été décliné pour de nombreux environnements. Des implémentations qui ne sont pas compatibles entre elles, et qui présentent des différences notables.

Applets et Servlets : deux modèles d'interaction client/serveur
Présentant chacun leurs avantages et inconvénients, applets et servlets s'exécutent respectivement côté client et côté serveur. Moins lourds qu'un langage de script, ils bénéficient de la richesse et de la portabilité de Java.

Assurer la conformité d'un contenu Web avec une DTD
Avec pour objectif de mettre en conformité un site avec les standards (X)HTML et CSS du W3C, la définition de document type offre un canevas pour séparer le contenu de la présentation. Un mécanisme qui ne manque pas de souplesse.

Développer des applications RIA avec JavaFX
L'infrastructure de Sun est conçue pour développer des interfaces graphiques riches et interactives. Reposant sur Swing, ces applications s'intègrent à toutes les plates-formes utilisant la technologie Java.

Le framework : un socle de développement structurant
Le travail du développeur a considérablement changé depuis l'avènement des infrastructures logicielles. L'élaboration du squelette d'une application est simplifiée grâce aux éléments prêts à l'emploi.

Flex 3 et AIR enfin sortis, Silverlight 2 se dévoile
Adobe et Microsoft viennent de lancer coup sur coup les nouvelles versions de leur technologie respective d'applications Internet riches. Décryptage des avancées de ces deux solutions.

Access-Key, les vidéos de l'accessibilité
Lancé par les universités de Nice Sophia-Antipolis et de Haute Alsace, le portail "Access-Key" propose une série de vidéos illustrant les difficultés des internautes handicapés. Objectif : sensibiliser les développeurs.

Support de CSS: de gros progrès pour Internet Explorer 8
La version de développement principale du navigateur de Microsoft a passé le test Acid2. Un signe qui tendrait à prouver qu'IE est sur une bonne voie en vue d'un support d'une partie des standards du W3C.

Mozilla Prism, ou la validation d'un concept
Exécuter une application en mode déconnecté. Tel est l'objectif de l'infrastructure dévoilée par la fondation. Une initiative qui se pose en concurrente d'Adobe AIR et de Microsoft WPF.

XHTML, CSS, accessibilité : confusions et amalgames
Exploiter les feuilles de style ne veut pas dire obligatoirement réaliser des contenus sémantiquement correctes ou accessibles, ou vouloir lutter contre les tableaux. Décryptage de certaines idées préconçues.

L'accessibilité des menus de navigation en cascade
Au survol de la souris, le menu en cascade se déploie en sous-menus sur plusieurs niveaux. Mal conçu, ce moyen de navigation pourra néanmoins gêner l'accessibilité de l'application pour les personnes handicapées.

La génération d'applications : mythe ou réalité ?
Le français Netfective commercialise un produit qu'il présente comme un environnement de développement automatisé. Manifestement plus évolué qu'un générateur de code, l'outil n'en présente moins certaines limites.

La plate-forme de développement Mono
Projet Open Source basé sur les standards ECMA / ISO, Mono a pour objectif de porter le framework .Net sous Linux.

VoiceXML
Dans le cadre de la nouvelle version VoiceXML 2.1, retour sur l'utilité et les caractéristiques de ce langage pour la communication téléphonique homme / machine.

Cookies et ASP.NET
Petits fichiers universellement connus, les cookies sont des agents indispensables à la convivialité de tout site. Il existe des bibliothèques ASP.NET qui permettent de les utiliser très simplement.

Flex
Outils et langages permettant de réaliser des applications Internet riches, l'environnement d'Adobe propose de combiner des interfaces en Flash à une logique applicative et transactionnelle.

Silverlight
Pilote .net implémenté en XAML, le composant client de Microsoft permet de visionner des animations multimédia pour le Web mais aussi des RIA, à la manière de Flash.

Les machines virtuelles
Elles créent au sein d'un système existant des environnements virtuels. Elles peuvent couvrir deux objectifs : porter plusieurs OS sur une même machine, faire tourner une application quel que soit le système d'exploitation sous-jacent.

Les Mashups
Reprendre le contenu d'un site pour le publier sur un autre via des interfaces de programmation. Une opportunité du Web 2.0.

Ajax face à la sécurité
L'usage croissant d'Ajax dans les développements remet sur le devant de la scène les risques de sécurité liés à l'exploitation de codes JavaScript. Mais ce risque est-il suffisamment bien pris en compte dans les projets ?

Java officiellement sous licence Open Source
A l'occasion de la conférence JavaOne, Sun a dévoilé le premier kit de développement Open Source de son langage. Un outil qui n'inclut pas l'ensemble des briques de l'environnement.

Les OS Web
Le navigateur Web se fait système d'exploitation pour s'affranchir de la suprématie de Windows. Tirant parti des interfaces Web riches, une nouvelle catégorie d'OS est entrain de voir le jour.

Qu'est ce qu'une ontologie ?
Un terme compliqué pour évoquer une méthode plutôt simple conçue pour clarifier et organiser ses développements. Ses applications se situent, entre autres, sur le terrain des bases de connaissances et du Web sémantique.

L'analyse orientée objet
Dans le cadre de la programmation orienté objet, la méthodologie permet de décrypter les buts et besoins nécessaires d'un logiciel. Elle est utilisée au travers des processus de modélisation UML.

La programmation en binôme
Avec pour objectif de rendre le travail collectif supérieur à la somme des travaux individuels, cette méthode peut être envisagée comme une revue de code permanente... mais peut échouer pour des raisons relationnelles.

Pourquoi il est préférable d'utiliser HTML plutôt que XHTML
Dépendantes du type MIME, les pages XHTML sont de ce fait traitées le plus souvent comme des pages HTML non valides. Un contexte qui rend l'usage de HTML4 plus recommandé.

Le support noté des navigateurs Web
A l'attention des développeurs de sites, Yahoo! propose une table de notation conçue pour établir la liste des navigateurs à tester, selon leur modernité, leur popularité et leurs capacités.

L'intérêt de FastCGI face à CGI
Apparu au milieu des années 90 mais resté dans l'obscurité, le protocole FastCGI revient en force pour soulager les serveurs Web écrasés sous le poids des requêtes HTTP.

L'identité numérique avec OpenID
Découvrez ce système d'authentification personnelle. Parmi ses principales caractéristiques, son modèle décentralisé et l'utilisation d'une URL comme identifiant.

La méthode agile Scrum : faire face au changement
La démarche propose un mode de pilotage itératif prenant en compte les évolutions qu'un projet de développement peut subir en cours de route. Découvrez-en les principes fondamentaux.

Le fonctionnement d'une liaison client/serveur avec HTTP
Le voyage d'une page Web sur le réseau Internet est semé de requêtes aux en-têtes abscons. Découvrez les étapes de cette procédure, et apprenez à déchiffrer les principales lignes de ses "headers".

L'intention des méthodes de développement Agile
Extreme Programming n'est qu'une méthode agile parmi une dizaine d'autres. Découvrez leurs points communs, leur but final, et donc les raisons de leur popularité croissante.

La normalisation d'une base de données
Organiser sa base SQL sans risquer de créer des sources d'anomalies ou des problèmes logiques : le principe de la théorie de normalisation s'applique à tout projet dynamique souhaitant grandir.

Les liens entre ECMAScript, JavaScript, ActionScript, JScript...
Une spécification, beaucoup d'implémentations, pour au final le langage de script le plus utilisé sur le Web. Débroussaillage des correspondances entre standard et navigateurs.

RDFa, la réponse du W3C aux microformats
La sémantique des données du Web devient une zone de combat avec cette nouvelle méthode, basée sur RDF et disposant de ses propres avantages, à commencer par la dispense de faire appel à des formats prédéfinis.

GRDDL : une syntaxe pour relier XHTML/XML et RDF
Comment faire entrer les données disponibles aux formats XHTML et XML dans le monde de RDF et du Web Sémantique ? La réponse du W3C : un mécanisme explicite liant l'espace de nom à son algorithme de traitement.

Les langages spécifiques : limiter pour optimiser
Les syntaxes HTML, SQL et Make appartiennent à un groupe de langages bien particulier : ceux qui ciblent un seul domaine d'utilisation, de la manière la plus optimisée possible.

Les espaces de noms, pour lever les ambiguïtés
Les espaces de noms associent à des contextes les extensions de nommage permises par les langages de nouvelle génération. L'objectif de cette technique : éviter les conflits de noms de classes ou de fonctions.

Les paradigmes, pour une classification des langages de programmation
En définissant les limites de fonctionnement d'un langage, un paradigme offre au programmeur une meilleure visualisation de son comportement, et de sa logique de développement.

LaTeX : faciliter la mise en forme scrupuleuse
Grâce au jeu de macro-commandes offert par LaTeX, la production de fichiers TeX, standard de la composition typographique de documents scientifiques complexes, devient enfin accessible aux non-initiés.

Les symboles du langage Ruby
Loin d'être seulement une amélioration cosmétique, les symboles permettent de ne stocker en mémoire qu'une instance du nom d'une variable, économisant cette dernière pour des utilisations plus fondamentales.

Les bases de données multidimensionnelles
Réservés aux entrepôts de données, les SGBD dimensionnels agrègent des informations en provenance de sources hétérogènes pour en tirer des tendances et soutenir les activités décisionnelles.

Le duck typing : la valeur détermine le comportement
Nouvelle appellation dans le monde des typages alternatifs, le duck typing est mis en avant par des langages comme Python et Ruby, et cherche à libérer des contraintes du typage explicite.

Ce qu'est une distribution Linux
Ubuntu, Mandriva, Red Hat, Debian, SuSE : pourquoi y'a-t-il tant de distributions Linux, et quels sont les liens entre elles ? La réponse.

ADO et ADO.Net : une évolution en profondeur
Les différences entre ADO et ADO.Net ne sont pas forcément perceptibles pour le développeur Win32 qui ne s'est pas encore penché sur .Net. Elles sont pourtant notables, et modifient substantiellement la manière d'accéder aux données.

Les microformats, une méthode de qualification des données
Objectif de ces spécifications : donner du sens à un contenu HTML de manière ciblée, en proposant par exemple des informations sur l'auteur d'une page.

POJO, le retour à la simplicité de Java
Utiliser des Plain Old Java Object afin de découpler son code des interfaces invasives et complexes des frameworks et bibliothèques à la mode.

Les avantages de l'indexation plein texte dans SQL
Description du fonctionnement de cette technologie de recherche rapide pour traiter de larges quantités de données.

Les implications du passage de Java en Open Source
Bouleversement du monde Java, l'ouverture du langage est attendue depuis longtemps. Clarification des conséquences possibles d'une telle mutation, pour Sun comme pour les développeurs.

Les injections SQL
Utilisées pour pirater les applications Web dynamiques, les injections SQL compromettent les données stockées sur votre base. Présentation des dangers potentiels et de quelques approches pour les éviter.

Le protocole NNTP
Inventé en 1986 et encore activement utilisé, Usenet utilise ce protocole de transfert de données pour gérer la publication et la propagation des messages qui lui sont envoyés.

L'apport de PL/SQL
Extension propriétaire à SQL pour les systèmes Oracle, PL/SQL ajoute au langage de requête les fonctionnalités qui le rapprochent d'un véritable langage de programmation, dédié au traitement des données.

Ce qu'est un serveur VPS
Les hébergements en serveur virtuel proposent une palette de possibilités proche de celle d'une offre sur serveur dédié, sans en imposer les coûts.

Les propriétés ACID d'une base de données
Atomicité, cohérence, isolation et durabilité sont les quatre conditions d'une transaction réussie au sein d'une base de données. Définition et raison d'être de chacune.

La génération de code
Produire automatiquement une application, en réglant certaines règles fondamentales... Un rêve qui se rapproche de la réalité avec ces outils combinant métadonnées et contexte d'utilisation.

La différence entre langages compilés et interprétés
Compilation ou interprétation ? Les clefs pour comprendre l'importance de cette différence fondamentale entre les implémentations de langages de programmation.

Le CMMI
L'une des premières mises en oeuvre de bonnes pratiques du développement logiciel, CMMI établit les aspects à surveiller au sein d'une organisation et d'un projet pour en assurer la bonne complétion.

Les orchestrations BPEL
Cette spécification clé du monde des échanges métier propose de gérer l'ensemble de la séquence d'interactions entre plusieurs services Web. Mise en lumière.

Windows Presentation Foundation
Vista arrive, et avec lui de toutes nouvelles briques de développement à prendre en compte. WPF se charge de tout l'aspect relationnel homme-machine, au travers de technologies comme XAML ou WPF/E. Présentation et implications.

Ce qu'apportera CSS3
Répondre aux attentes et anticiper les besoins des développeurs Web : la tâche qui incombe à la prochaine version des feuilles de style est considérable, et promet une véritable maîtrise de la mise en forme des sites.

La programmation orientée aspect
Elaboré en 1997 par Xerox, ce paradigme de programmation commence à faire parler de lui en dehors des études académiques, et les outils utilisables par les développeurs deviennent fiables.

Le stockage de données sur CD
Extraire un fichier d'un morceau de plastique ? Clarification des principes de la composition d'un CD-ROM, et du fonctionnement d'un lecteur.

L'évolution des langages informatiques
En 50 ans, l'informatique est passée du langage machine à la programmation par contraintes en passant par l'assembleur et les langages proposant une syntaxe lisible proche de l'anglais. Bilan.

Le fonctionnement d'un VPN
Extension du principe proposé par SSH, le réseau privé virtuel repose sur des protocoles établis, renforçant le principe de sécurité des transmissions.

Comment simuler informatiquement le hasard ?
Nombre aléatoire ou pseudo-aléatoire ? En pratique, les ordinateurs ne nous laissent pas beaucoup de choix. Voici pourquoi.

La différence entre trackback et pingback
Deux spécifications pour une utilisation : la notification de lien. Décryptage de leurs fonctionnements respectifs.

Le fonctionnement de l'interpréteur PHP
Comment les codes PHP se transforment-ils en code HTML ? Les dessous du traitement des pages dynamiques.

Le protocole XMPP
Evolution standardisée d'un système Open Source, XMPP représente l'un des protocoles les plus prometteurs en matière d'interopérabilité de la messagerie instantanée.

Le système d'adressage d'IPv6
L'évolution du protocole IP doit pouvoir dépasser les limitations d'IPv4. Comment ?

Les monades
Nombreux sont les concepts auxquels se heurtent les programmeurs qui découvrent les langages fonctionnels. Parmi eux, les monades, moyen de construire et regrouper les traitements de manière séquentielle, tiennent une place proéminente.

Le lambda calcul
L'une des fondations des langages de programmation, ce modèle mathématique de la calculabilité n'est pas pour autant connu de tous. Éclaircissements sur son importance dans la paysage informatique.

Le fonctionnement de Google Maps
Gérer l'affichage dynamique de milliers d'images accolées, par le seul biais de JavaScript et de scripts serveur bien conçus : voici le défi technique relevé par Google pour Maps, que nous étudions ici.

Le fonctionnement du protocole BitTorrent
Grâce à une idée simple mais très bien pensée, ce logiciel Open Source est devenu le protocole le plus utilisé pour la diffusion efficace de fichiers lourds.

Les closures, pour atteindre les variables inaccessibles
Présente dans de nombreux langages, mais rarement comprises, les closures donnent à une fonction accès à variables autres que celles comprises dans ses arguments.

Les enregistrements DNS
MX, NS, CNAME, SOA : autant d'acronymes rattachés aux serveurs de nom, dont on ignore souvent la signification ni ce qu'ils impliquent. Explications.

Le fonctionnement d'un système de grille
La grille de calcul, c'est l'idée de diviser le temps nécessaire pour parvenir à un résultat en mutualisant les ressources de très nombreuses machines. Comment cela fonctionne-t-il ?

le PageRank Google
Quels sont les différents critères pris en compte par le célèbre moteur de recherche pour classer les sites Web ? Comprendre pour mieux être référencé.

L'émulation
Jeux vidéo, virtualisation, tests logiciels et matériels : l'émulation est utilisée dans tous ces domaines. Elle consiste à imiter le fonctionnement interne d'un système. Mais comment ?

Les systèmes de fichiers
À la racine des systèmes d'exploitation, ils définissent les principes d'accès aux fichiers et leur hiérarchisation.

Les graphes
Méthode générale de rangement de données, qui s'applique autant à des problèmes purement mathématiques qu'à des questions de la vie de tous les jours.

La notation n3
Destinée à faciliter l'utilisation de RDF et donc le Web sémantique, n3 a été conçue par Tim Berners-Lee.

L'architecture orientée service
Ce nouveau principe de conception d'application vise à libérer les développeurs grâce un usage fort des services Web.

le standard Unicode
Unicode est un codage, au même titre que le Morse ou l'ancêtre ASCII : il vise à faciliter l'échange de données entre différents pays.

Les pointeurs
Compréhension et reconnaissance de cette fonctionnalité indispensable de certains langages, en particulier C et C++.

Le fonctionnement d'un compilateur
C'est l'outil indispensable pour la bonne compréhension d'un programme par le processeur de l'ordinateur. Quels sont ses principes ?

les notations BNF et EBNF
Depuis plus de 40 ans, ces notations permettent de formaliser clairement les syntaxes de nombre de langages. Par extension, elles peuvent servir à en apprendre rapidement un nouveau. Voici comment les décoder.

Le fonctionnement de la machine virtuelle Java
La JVM émule un environnement d'exécution complet et standard, afin d'assurer la portabilité des programmes. Décomposition de ses éléments-clefs.

La structure d'un message SOAP
Le Simple Object Access Protocol est un protocole destiné à transporter des informations échangées par deux applications. Décomposition d'un message-type, pour mieux comprendre.

le fonctionnement du W3C
Initiateur des évolutions XML, XHTML, CSS, SVG et bien d'autres encore, le World Wide Web Consortium régit les technologies du Web. Présentation de son organisation et de ses processus.

Le ramasse-miettes Java
Les principes de base du Garbage Collector, élement essentiel de la machine virtuelle Java.



JDN Développeur Envoyer Imprimer Haut de page

Sondage

Adobe parviendra-t-il à percer avec sa nouvelle suite de création Web Edge ?

Tous les sondages