Qu’est-ce que Javascript et à quoi ça sert ? 39


La question parait bête, mais je me la suis posé il y a des années. Et personne n’avait écrit un article pour expliquer ça. Personne. C’était tellement évident.

Cet article est pour toi, étudiant en info, commercial dans une boîte IT ou juste curieux qui trouve que l’article Wikipedia ne veut rien dire.

Ce que c’est

Javascript est un langage de programmation, c’est une forme de code qui permet, quand on sait l’écrire, de dicter à l’ordinateur quoi faire.

Le code Javascript ressemble à ça :

setTimeout(function(){
    if (truc == machin) {
        alert('Bidule !')
    }
}, 100)

C’est du texte. Juste du texte. Comme une autre langue.

On trouve la majorité du code Javascript dans des pages Web, même si vous ne le voyez pas s’afficher. En effet, c’est le seul langage qui permette de dicter à un navigateur Web (Internet Explorer, Firefox, Chrome…) ce qu’il doit faire sans rien installer. La grande majorité des navigateurs Web “parlent” le Javascript.

Ce qu’on peut faire avec

La plupart du code Javascript se trouve dans des pages Web, et sert donc à dire comme la page Web doit réagir. Cela marche ainsi :

  1. L’utilisateur clique sur un lien ou entre une adresse.
  2. Son navigateur charge la page Web. Il voit le texte, les couleurs, les images.
  3. Si la page Web contient du code Javascript, le navigateur lit le code Javascript et suit les instructions du code.

Généralement le code Javascript dans une page Web sert à :

  • Faire bouger, apparaitre ou disparaitre des éléments de la page (un titre, un menu, un paragraphe, une image…).
  • Mettre à jour des éléments de la page sans recharger la page (changer le texte, recalculer un nombre, etc).
  • Demander au serveur un nouveau bout de page et l’insérer dans la page en cours, sans la recharger.
  • Attendre que l’utilisateur face quelque chose (cliquer, taper au clavier, bouger la souris…) et réagir (faire une des opérations ci-dessus suite à cette action).

Le code Javascript sert donc à donner du dynamisme à la page. Sans lui, la page ressemble à une page de livre, un peu animée (grâce à un autre langage appelé le CSS), mais qui ne change pas beaucoup.

Par exemple, voici quelques fonctionnalités que l’on peut voir dans une page Web qui impliquent Javascript :

Cela ne veut pas dire qu’on ne pourrait pas avoir ces fonctionnalités avec autre chose que Javascript, mais dans notre cas, elles ont été produites avec Javascript.

Certains sites Web ne pourrait tout simplement pas fonctionner sans Javascript. C’est le cas de Facebook, Youtube ou Twitter qui utilisent le langage pour presque tout leur affichage. La page de recherche de Google, en revanche, peut fonctionner sans Javascript.

Voilà par exemple deux pages similaires. L’une avec Javascript (cliquez sur le texte pour voir l’effet) :

Et l’autre sans (cliquez, il ne se passe rien):

Quelques subtilités

Le code Javascript est lu et exécuté sur le navigateur Web, donc sur l’ordinateur de l’internaute.

C’est ce qu’on appelle du code “côté client”. Et il ne peut pas interagir directement avec le code “côté serveur” (celui qui a produit la page Web); et donc on ne peut pas communiquer directement entre le Javascript côté client et PHP côté serveur par exemple.

Comme l’internaute a le contrôle de sa machine, il peut choisir de désactiver le support de Javascript sur son navigateur. Dans ce cas, ce dernier ignorera le code Javascript et fera comme si il n’était pas là. Il verra la page, mais tous les éléments qui fonctionnent avec Javascript ne marcheront pas.

Les pages Web sont aussi parcourues par des navigateurs qui ne supportent pas Javascript, et par des robots qui ne sont pas des navigateurs Web. De nombreux moteur de recherche (comme Google, DuckDuckGo ou Bing) ont en effet de tels robots pour lister toutes les pages Web, et souvent leurs robots ignorent Javascript.

Javascript, quand il est dans le navigateur Web, a aussi cette particularité d’être un langage limité à ce que le navigateur lui laisse faire. C’est ce qui le rend assez sécurisé. Mais chaque navigateur a ses particularités et comprend parfois le Javascript différemment. De plus, l’exécution du code Javascript a pendant longtemps été quelque chose de lent.

Cela a rendu le langage impopulaire, il été évité pour sa difficulté d’utilisation, ses limites importantes et ses performances basses.

Javascript moderne

Aujourd’hui le langage Javascript est massivement utilisé sur tous les sites Web grand public. Des outils, tel que jQuery, on été développés pour faciliter son utilisation et les navigateurs sont devenus beaucoup plus efficaces dans son traitement.

La popularité grandissante dans les années 2000 d’un outil appelé AJAX, qui permet à Javascript de mettre à jour une page sans la recharger, a propulsé le langage sur le devant de la scène. L’utilisation d’AJAX rendant, si il elle est bien faite, la consultation du site plus rapide et fluide, on l’a rapidement retrouvé sur tous les sites les plus fréquentés.

La conséquence est qu’il est aujourd’hui impossible de se dire sérieusement développeur Web si l’on n’est pas capable d’écrire un minimum de code Javascript. Si vous voulez développer des sites Web, vous devez apprendre au moins les bases de Javascript. Si vous recrutez un développeur Web, assurez vous qu’il les connaisse.

Javascript permet aujourd’hui, avec le support d’autres technologies (Flash, HTML5, canvas, CSS3, WebGL…), de faire des choses très évoluées comme de la 3D, de la manipulation d’images, de sons et de videos. Bientôt, avec des innovations comme WebRTC, Javascript permettra de faire du Peer-to-peer et de la vision conférence à l’intérieur du navigateur Web :

Si vous voyez un jeu vidéo ou un film dans une page Web, un code Javascript est impliqué quelque part. Le langage a quitté depuis longtemps son statut de technologie “jouet” et est actuellement l’un de ceux qui possèdent le plus de potentiel d’évolution.

Des innovations importantes sont à attendre du côté de Javascript avec la maturation d’outils tels que MeteorJs qui permettent de coder, en Javascript, la génération des pages côté serveur ET le code client des navigateurs, tout en les faisant interagir automatiquement. Si cette phrase ne veut rien dire pour vous, dites vous seulement que c’est le seul langage à tenir cette promesse actuellement.

Javascript, en dehors d’un navigateur Web

Avec l’amélioration des performances de Javascript, le langage a été de plus en plus utilisé en dehors du navigateur Web. On le retrouve aujourd’hui un peu partout :

  • Sur les serveurs, l’exemple le plus célèbre étant NodeJS, un outil qui permet de générer les pages Web avant de les envoyer au navigateur.
  • Sur les interfaces des ordinateurs, il permet d’afficher des fenêtres et des boutons (Scripting QT, Gnome Shell).
  • Sur les téléphones, pour le moment sur FirefoxOS et PhoneGap, il permet d’écrire des applications.

Frameworks Javascript

Javascript est né en tant que technologie minimaliste. Le langage est puissant, mais ne fait pas grand chose de lui-même. Avec sa professionalisation sont apparus ce que l’on appelle des frameworks, c’est à dire des collections de code qui rendent le développement en Javascript plus rapide, plus facile et plus puissant.

Sur le navigateur, le plus connu et utilisé est sans aucun doute jQuery. Il est aussi celui que nous préférons utiliser chez Sam et Max, et il n’existe presque plus de raison de ne pas l’utiliser aujourd’hui. Par défaut, si rien d’évident ne s’oppose fortement à inclure jQuery, nous recommandons toujours de l’ajouter d’office à la première lettre du code Javascript tapée sur un projet Web.

Si vous ne savez pas utiliser jQuery mais devez programmer du Javascript pour une page Web, commencez par apprendre à utiliser jQuery. Coder en Javascript à la main de nos jours, c’est comme moudre sa farine soi-même, c’est instructif, mais pas très productif.

Il existe tout de même d’autres frameworks : Mootools, Prototype.js, YahooUI… Ceux qui existent encore actuellement sont ceux qui ont survécu à l’effet mode, et ce sont tous des outils aujourd’hui solides.

Ensuite il y a des bibliothèque spécialisées dans des problématiques telles que le routing, la manipulation de modèles, le templating, etc. Encore une fois, si ces termes ne vous parlent pas, c’est que vous n’avez pas encore besoin de ces bibliothèques. On retrouve dans le lot backbone.js, spine.js, mustache.js et bien d’autres.

Des frameworks hybrides couvrant de nombreuses problématiques à la fois sont arrivés ces dernières années, notamment knockout.js de Microsoft et AngularJS de Google qui sont encore très jeunes mais qui méritent d’être suivis de prêt.

Les mauvais côtés de Javascript

Malgré ma lucidité concernant l’importance grandissante de Javascript, j’aimerais partager avec vous des choses que les enthousiastes ne vous disent pas.

D’abord, c’est un langage extrêmement laid. Ça va vous sembler futile, mais ça se traduit par un temps d’apprentissage du langage plus élevé. Un temps de relecture BEAUCOUP plus élevé (et on lit le code des centaines de fois par jour). Un temps de debuggage plus long également. Et des erreurs plus nombreuses car le JS est très permissif. Bref, c’est un langage très improductif si on le compare à Ruby, Python ou même à PHP.

Pour donner une idée de la chose, voici un code Javascript que peut produire un débutant pour écrire la fameuse chanson 99 bottle of beers:

for (var i = 99 ; i > 0 ; i--) {
 
  j = i - 1;
 
  if (i != 1) { 
    icase = "bottles"; 
  } else { 
    icase = "bottle";
  }
 
  if (j != 1) {
    jcase = "bottles";
  } else {
    jcase = "bottle";
  }
 
  console.log(i + " " + icase + " of beer on the wall,");
  console.log(i + " " + icase + " of beer,");
  console.log("Take 1 down, pass it around,");
 
  if (j != 0) {
    console.log(j + " " + jcase + " of beer on the wall.");
  } else {
    console.log("No more bottles of beer on the wall!");
  }
 
  console.log()
}

Et voici l’équivalent (littéral) en Python :

for i in xrange(99, 0, -1):
 
    j = i - 1
 
    if i != 1:
        icase = "bottles"
    else:
        icase = "bottle"
 
    if j != 1:
        jcase = "bottles"
    else:
        jcase = "bottle"
 
    print "%s %s of beer on the wall" % (i, icase)
    print "%s %s of beer," % (i, icase)
    print "Take 1 down, pass it around,"
 
    if j:
        print "%s %s of beer on the wall." % (j, jcase)
    else:
        print "No more bottles of beer on the wall!"
 
    print

En plus d’être plus plus d’être plus long de 50 caractères, le code Javascript comporte deux bugs potentiels : les variables non déclarées fonctionnent, mais sont partagées avec tout le reste du code. Le console.log va lui aussi fonctionner sur un serveur et sur certains navigateurs, mais fera planter d’autres navigateurs qui n’ont pas accès à cet objet. On peut le remplacer par document.writeln mais alors le code ne marchera pas sur un serveur.

Les prérequis pour coder un simple bout de code Javascript sans erreur sont plus élevés, la vigilance demandée est plus grande.

Ensuite, il est difficile de trouver de bons développeurs Javascript. Les profils les plus courants sont des designers forcés à faire un peu de JS, ou des codeurs PHP qui de temps en temps insèrent du JS dans leurs pages. Les spécialistes Javascript sont rares, chers et pas faciles à embaucher.

D’ailleurs, pour former quelqu’un ou se former à Javascript, les ressources sont spartiates. Je ne parle pas des milliers de scripts tout fait prêts à être utilisés. Ça il y en a plein. Je parle de cours pour devenir un codeur sérieux, et sortir de la relation d’amateurisme que la majorité des développeurs Web ont avec Javascript.

Côté navigateur, le Javascript est mûr. En revanche, en dehors du navigateur, c’est une technologie qui est encore dans son enfance. Oui, je parierai cher qu’il va devenir très dominant dans les prochaines années. Mais en attendant, ceux qui s’y mettent maintenant vont payer les pots cassés : libs pas testées, mal documentées, incompatibles, maintenues avec des baguettes… quand elles existent.

Rien qu’installer de quoi coder en Javascript sur sa machine est une plaie : sous Linux et Mac, Ruby et Python sont installés par défaut. Javascript demande des étapes en plus. Sous Windows, c’est le parcours du combattant.

En clair : mettre trop de billes dans Javascript coûte cher, et c’est pour cela que je m’en tiens à développer avec sur des pages Web qui est son habitat naturel puisqu’il n’y a besoin de rien installer. C’est la raison de sa popularité initiale, et on est en train de faire exactement l’inverse en forçant son portage partout ailleurs.

Javascript n’est pas adapté à tout, et en ce moment, on veut le mettre à toutes les sauces. C’est à mon sens préjudiciable, très fortement influencé par un effet de mode, et met de côté d’excellents autres langages qui seraient beaucoup plus adaptés. Aussi, si vous devez faire de la programmation serveur ou d’interface graphique, je vous recommande plutôt Ruby ou Python, avec une préférence pour ce dernier somme toute biaisée par l’usage intensif qu’on en fait.

En prime ils vous rendront service pour le scripting, les traitements et l’analyse de données, le prototypage, et plein d’autres situations auxquelles vous n’aviez pas pensé. Ce sont des langages créés à l’origine pour être généralistes, pas adaptés durant les dernières années parce qu’ils ont le vent en poupe (Python est plus vieux que Java…).

Cela ne vous dispense pas de capitaliser sur des talents en Javascript en plus de ceux existant. Cela risque d’être plus qu’utile pour le futur.

39 thoughts on “Qu’est-ce que Javascript et à quoi ça sert ?

  • Pierre Chabiland

    Bonjour,
    Pour la programmation d’interfaces graphiques, j’aurais tendance à proposer Flash. Tout dépend ce que l’on veut faire, mais entre Flex et l’IDE Flash, il y a de quoi faire pour faire de UI en flash. Beaucoup de jeux AAA utilisent flash pour l’interface graphique. La techno est souvent utilisé pour créer des bornes ou tables tactiles (avec Adobe Air)
    De plus il faut voir que c’est la techno la plus utilisée lors d’événement de conception de jeux en 48H comme la Global Game Jam.
    Bref Flash est un must pour faire de l’UI.
    Pour le web classique c’est une autre histoire….

  • sil

    Dans la section “A quoi sert le javascript ?”, tu as oublie :
    – faire apparaitre un trombone quand on tient des propos graveleux,
    – jouer a Mario en attendant d’avoir des réponses…

  • kontre

    Tiens, une question que je me posais : dans les jeux “codés en HTML5″, c’est blindé de javascript ? C’est pas que du HTML5/CSS3 ?

    Quand à l’utilisation des langages, de mon point de vue de scientifique un des plus gros avantages de python sur matlab est que c’est un langage généraliste avec de bonnes librairies pour le calcul scientifique, alors que matlab est un langage de calcul numérique qui a été étendu pour être plus général. Et du coup c’est immonde à utiliser ! Si vous voulez vous marrer : http://abandonmatlab.wordpress.com/
    J’ai l’impression que le JS fait comme matlab : il était bon dans un domaine et cherche à s’étendre partout. Ils ne peuvent pas faire pire que matlab mais ils ont intérêt à faire attention que ça ne devienne pas une bouillie infâme.

    Bon, je retourne à python…

  • Pierre Chabiland

    Les jeux HTML5 sont souvent (même quasi tout le temps) basé sur la balise canvas qui est une zone d’affichage vierge dans laquelle on peut dessiner. Et pour dessiner dans un canvas, il faut utiliser du JS. C’est donc blindé de JS

  • Romain

    La grosse particularité de JS et ce qui le rend amusant à utiliser selon moi c’est que les appels se font de façon asynchrone. On le voit bien dans le snippet donné en exemple. Là ou on aurait fait un sleep dans plein d’autres langages, ici on lance setTimeout avec un callback !

    Pour ce genre de trucs qui surprennent au début, je trouve que JS est intéressant.

    C’est vrai que c’est dur d’être productif en pur JS.

    Pour les docs / référence sur Javascript, j’utilise le site de la mofo.

  • roro

    Deux questions concernants JS (Join Sorcery)
    Pourquoi quand j’enregistre une de vos pages avec FireFox (qui prends tout: CSS,JS…)”Clippy” ne marche pas ?
    C’est quoi le carré qui apparaît en bas à droite au premier caractère que j’entre dans la fenêtre de com de la page enregistrée ?
    Question subsidiaire: Pourquoi je n’arrive pas à intégrer “Clippy” dans une page vierge (bon, ça je sais: C’est parce que je me démmèeerde mal.)

  • Sam Post author

    Clippy n’est pas listé dans les ressources de la page HTML, on le charge à la volée uniquement quand certains événements se produisent dans le formulaire de com. Ca évite de charger tout le code de clippy à chaque reload.

    Le carré, c’est un un avatar avorté que la preview essaye d’afficher mais qui ne marche pas.

    Pour la dernière question, il faudrait un forum ou un chat pour t’aider car c’est le genre de question qui appelle à au moins 10 aller-retour de questions et de réponses.

  • H3

    Sympa cet article, très instructif, qui coincide avec mes premiers balbutiements en JS…

    Je me posais la question : Un user sur stackoverflow m’a déconseillé de coder certaines fonctions “élémentaires” en JS, car les utilisateurs peuvent avoir désactivé JS dans leur navigateur. Z’en pensez quoi ?

    By the way : Preums ?

  • Sam Post author

    @GM: merci, c’est corrigé.

    @Alexandre Segura: ça me titille de répondre, mais l’article lui-même est un appeau à troll alors je vais pas en rajouter :-)

    @H3: Non, pas preums. Pour les fonctions élémentaires, ça dépend de ce que veut dire élémentaires. Les checks de sécurités d’un formulaire doivent toujours êtres côté serveurs par exemple, mais les tests ergonomiques du même formulaires peuvent se faire côté client, et parfois ce sont les mêmes, donc ont les fait deux fois.

  • Xavier Combelle

    Bref, c’est un langage très improductif si on le compare à Ruby, Python ou même à PHP.

    Je me demande ce qui fait dire que PHP est plus productif que javascript.

    PS: en quoi mon propos est il trollesque ?

  • Sam Post author

    Encore une fois, j’aimerais tellllllllllllllllement répondre. Mais non, non. Je résisterai. Je résisterai. S’il vous plait résistez avec moi. Résistons ensemble !

  • kontre

    Ça en fait des trolls abattus sans sommation, sur ce blog ! Ici PHP/JS, récemment c’était espaces/tab, y’a eu sublime text/vim/emacs… Il ne reste que du politiquement correct ! :P Tu résistes en effet plutôt bien !
    Enfin moi je m’en fous, de toutes manières j’ai raison, alors…

  • G-rom

    Perso j’utilise backbone.js / marionette.js / underscore / mustache le tout couplé à un backend RESTful en python (Flask inside). Bin ça déboite sa maman pour faire une ‘app’ web. Je ne le conseille pas pour un site, mais pour faire de l’app de demain c’est tout bon.

  • Cortex

    La puissance de javascript est dans son paradigme fonctionnel couplé aux moteurs JavaScript asynchrone avec I/O non bloquant, en terme de performance pour un language interprété ça déboite pas mal sur un serveur, même en utilisant qu’un seul coeur, alors en cluster …

    Comme on peut balancer le même code au client comme au serveur, tu peux très bien proposer des pages statique (sans JS ) généré côté serveur pour les robots et dynamique temps réel pour les clients.
    Et si on aime pas Javascript, faut passer à CoffeeScript un mix python / ruby qui sort du JS optimisé :

    for i in ([1..99]) by -1
      j = i - 1
      icase = if i != 1
          "bottles"
        else
          "bottle"
      jcase = if j != 1
          "bottles"
        else
          "bottle"
     
      console?.log "#{i} #{icase} of beer on the wall,"
      console?.log "#{i} #{icase} of beer,"
      console?.log "Take 1 down, pass it around,"
      console?.log unless j is 0
          "#{j} #{jcase} of beer on the wall."
        else
          "No more bottles of beer on the wall!"
      console?.log()

    si l’objet console n’existe pas, ça ne plante pas dans ce cas :)

  • Sam Post author

    Ah, cortex, ça faisait longtemps mon pépère. Tu passes nous voir quand ?

  • Anucunnilinguiste

    Le Javascript fut inventé pour faire croire aux développeurs web qu’ils allaient savoir programmer ;) comme les vrais développeurs desktop mais en plus facile, avoir la reconnaissance éternelle pour enfin pouvoir montrer leurs grosses couilles poilues sur des slides PowerPoint.

    Le Javascript c’est bien pour les djeun’s sensibles à la nouveauté et au marketing, nous les vieux, on l’a déjà connu et on sait déjà que c’est de la merde.

    Qui veut debug un fichier de 6000 lignes de JS avec utilisation de 12 supers kits de web responsive design de sa mère qui tue ? Bein pas moi, vous voyez je suis cool, je vous laisse cette tâche ingrate…

    J’en ai marre des supers beaux boutons style aqua, j’en ai marre des icônes à la con “j’aime”, j’en ai marre des design épurés de fumistes des Beaux-Arts, j’en ai raz le cul de lire et écouter de jeunes merdeux nous sortir qu’ils ont inventé la poudre, j’en ai marre monsieur Bourdin ;), j’en ai marre des fraudeurs et usurpateurs techniques qui viennent d’écoles de commerce, nous dire que JS c’est cool parce-qu’ils ont enfin réussi à faire un graphique camembert pour le chef sur une page web en JS ;)

    Sinon j’aime bien le Javascript. Ca me permet de faire des benchmarks de mémoire vive avec mes navigateurs.

    Enfin, je milite aussi pour l’inclusion de l’instruction GOTO en JS qui améliora certainement la lisibilité et la qualité du code. Et bien sûr j’attends avec impatience les ouvrages de design pattern en JS;).

  • Anucunnilinguiste

    “Et bien sûr j’attends avec impatience les ouvrages de design pattern en JS;).”

    D’habitude il y a un petit con pour me dire que ça existe et qui me donne un lien Amazon ;)

  • Sam Post author

    Ah, ça faisait longtemps que @Anucunnilinguiste était pas venu head shotter un ou deux hispters sur le site. Tu m’avas manqué.

  • Anucunnilinguiste

    @Sam

    J’avais choppé une H1N1 dans le 13ème à cause d’une chinoise superbement bien gaulée, à la croupe callypige, à qui j’ai voulu lécher l’entre-cuisse de poulet : les risques des esprits aventuriers en quelque sorte.
    Cela m’a valu un rhume digne de celui du chirurgien ophtalmologiste dans Minority Report, c’est dire !

  • Max

    callypige… La derniere fois que j’ai entendu ce mot c’était dans PALACE dans les années 80/90, explication donnée par le professeur rolin :)
    y a de la culutre !

  • Prince-Leto

    Bonjour,
    Moi j’adore Javascript. Effectivement c’est plutôt chiant à apprendre, mais une fois maîtrisé c’est génial. On peut faire les choses plutôt rapidement grâce à sa permissivité.

    Par contre je déteste tous les frameworks tels que jQuery. *Aïe, pas sur la tête.* En fait je m’insurge contre cette déclaration : « […] commencez par apprendre à utiliser jQuery. » Mais je m’aperçois que je suis souvent seul à penser cela.

    Tiens, je constate que je rentre parfaitement dans la catégorie de gens décrite par @Anucunnilinguiste. Je suis un djeun’s qui est fier de ses dessins Javascript. Ils sont dispo’ ici : http://www.lelaboratoiredeleto.fr

    Tout ça pour dire : Vive le Javascript pur ! Sur les navigateurs, évidement.

  • Sam Post author

    Joli, tiens, je tweet.

    @Max: moi c’était dans une chanson de brassens. “Entre la rue de Vanv’s et la rue Didooooooooooot”

  • truxs

    Disons que Jquery a été conçu avant tout pour interagir avec le D.O.M. est faire des trucs plus efficace que de simple document.getElementById pour le reste ya mieux.

    Évidemment vu que le JS passe par cette grosse couche d’abstraction appelé navigateur ça n’égalera jamais la concurrence niveau perf, mais avec des projets tels qu’asm.js ou nacl ça commence à devenir potable.

    Pour les ressources eloquent javascript pour commencer suivis de Professional JavaScript for Web Developers et ce sera déjà pas mal.

  • Anucunnilinguiste

    @Prince-Leto

    Je n’aime pas le Javascript, par contre, j’aime ton site et tes algorithmes. J’aime ce genre d’expérimentations, j’aime voir des cerveaux transpirer.

  • Anucunnilinguiste

    @Sam
    @Max

    C’est parce-que dans Anucunnilinguiste, il y a linguiste également ;)

  • cyp

    @Pierre Chabiland
    Pour les interfaces c’est comme pour le web, JS est en train de pousser Flash/AS/FleX/… dehors.
    Il s’est déjà bien installé dans le monde du mobile (application et même OS si on regarde du coté de chez Mozilla ou Canonical) et le “desktop” est en train de suivre, MS est à fond dedans pour W8 et dans certains milieu (les UI des jeux vidéos par exemple) il est déjà bien installé.
    Puis tout le monde semble si mettre, je regardais des news sur le projet OpenShot récemment, l’auteur était très enthousiaste sur sa nouvelle API en Python et sa nouvelle interface en JS…

    Ceci dit j’ai aussi vraiment du mal à me mettre à JS.
    Pour des petits truc from scratch ça se passe bien mais pour du lourd avec plein de ressources externe où il faut reprendre certains travaux tiers on tombe souvent des truc imbitable, c’est un peux décourageant (malgré que pour le web les consoles sous FF ou Chrome sont quand même très pratique).

  • Gring

    Bon, ça a déjà fait le tour du web 25 fois, mais pour remplacer JQuery, il y a cette lib : http://vanilla-js.com/

    Sinon, c’est marrant que JavaScript soit le seul moyen de coder nativement sur navigateur, alors que ce langage (orienté objet par prototypes) va à l’encontre de tous les autres langages “industriels” (orientés objet par classes).

    Ça me déprime, je déteste les langages permissifs. Je rêve toutes les nuits qu’Edsger Dijkstra se réincarne pour venir imposer par la terreur l’utilisation du C bien strict, SANS WARNINGS avec l’option -wall.

  • sil

    En tout cas, sans le Javascript et le porno, le web ressemblerait à un fichier d’aide Windows.

  • Alice SAKINA

    Bonjour je suis étudiante en troisième graduat informatique de gestion je voulais avoir une documentation sur les cours de langage de programmation. S’il vous pleut, veillez me les envoyer vous contribuer à ma formation. Merci

  • Sam Post author

    Bien sur qu’il y en a. On vire les balises script, mais on ne vire pas les liens, volontairement. Je vire le tiens car il est inutile en revanche.

  • nickson

    bonsoir je suis etudiant et je cherche quelques reponses a mes questions et je ne sais pas si je pourrais etre en contact avce l’un de vous sa serait vraiment un plaisir. j’ai besoin d’une conversation telephonique sur le metier de dévéloppeur web voici mon numero dans les cas ou quelqu’un voudrait m’éclairer.

  • Ayz

    Bonjour,

    je suis tombé sur cet article car en tant que débutant en développement web car je me posais des questions sur l’obligation ou non d’utiliser JS si l’on veut faire un travail sérieux.

    Très friand des possibilités qu’offrent CSS3 et SVG, pour l’instant je me focalise sur l’apprentissage approfondi des fonctionnalités de ces 2 langages, pensez-vous que ça puisse déjà être un bon bagage pour commencer à bosser? Est-ce carrément utopique que de vouloir créer des sites( j’entends des sites cools et efficaces bien sûr) seulement avec HTML, CSS3 et SVG, plus PHP?

    J’ai l’impression que beaucoup de devs utilisent JS( Jquery) un peu à tire-larigot, car lorsqu’on voit ce que certains arrivent à faire uniquement via CSS3 c’ est assez impressionnant quand même ; donc je me demandais si aujourd’hui JS n’était pas un peu superflu pour bon nombre d’utilisations( par exemple on peut faire des caroussels en css), et donc si son utilisation ne devrait pas se limiter à des fonctionnalités plus poussées que lui seul permet.

    Merci pour cet article en tous cas!

  • Sam Post author

    Si tu veux faire que du backend, tu peux sans probleme connaitre que HTML et PHP. Si par contre tu veux aussi faire du front, le JS est aujourd’hui indispensable.

  • Mayunga toussaint

    Merci pour vos connaissances c’est vraiment édifiant, mais pense que Javascript ou js possede de particularités et connaître le deux permettra de bien faire le choix au moment opportun . Une fois encore merci

Leave a comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Des questions Python sans rapport avec l'article ? Posez-les sur IndexError.