<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.sgy.io/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.sgy.io/feed.php">
        <title>Wiki SGY.io - web:javascript</title>
        <description></description>
        <link>https://wiki.sgy.io/</link>
        <image rdf:resource="https://wiki.sgy.io/_media/wiki:logo.png" />
       <dc:date>2026-05-12T12:13:07+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.sgy.io/web:javascript:array_prototype_ext?rev=1755361811&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.sgy.io/web:javascript:bonnes_pratiques?rev=1755361811&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.sgy.io/web:javascript:codes?rev=1755361811&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.sgy.io/web:javascript:gatsbyjs?rev=1755361811&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.sgy.io/web:javascript:inversify?rev=1755361811&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.sgy.io/web:javascript:jquery?rev=1755361811&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.sgy.io/web:javascript:jwt?rev=1755361811&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.sgy.io/web:javascript:langage?rev=1755361811&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.sgy.io/web:javascript:mootools?rev=1755361811&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.sgy.io/web:javascript:outils?rev=1755361811&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.sgy.io/web:javascript:rxjs?rev=1755361811&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.sgy.io/web:javascript:testing?rev=1755361811&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.sgy.io/web:javascript:toc?rev=1755361811&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.sgy.io/web:javascript:typescript?rev=1755361811&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.sgy.io/web:javascript:vuejs?rev=1755361811&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.sgy.io/web:javascript:web-api?rev=1755361811&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.sgy.io/_media/wiki:logo.png">
        <title>Wiki SGY.io</title>
        <link>https://wiki.sgy.io/</link>
        <url>https://wiki.sgy.io/_media/wiki:logo.png</url>
    </image>
    <item rdf:about="https://wiki.sgy.io/web:javascript:array_prototype_ext?rev=1755361811&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-16T16:30:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>array_prototype_ext</title>
        <link>https://wiki.sgy.io/web:javascript:array_prototype_ext?rev=1755361811&amp;do=diff</link>
        <description>function addPrototypeFunctions() {
                if (typeof Object.defineProperty === &#039;function&#039;) {
                    try {
                        Object.defineProperty(Array.prototype, &#039;sortBy&#039;, { value:sb });
                        Object.defineProperty(Array.prototype, &#039;sameAs&#039;, { value:sameAs });
                    } catch (e) { }
                }

                if (!Array.prototype.sortBy) {
                    Array.prototype.sortBy = sb;
                }

                if (!A…</description>
    </item>
    <item rdf:about="https://wiki.sgy.io/web:javascript:bonnes_pratiques?rev=1755361811&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-16T16:30:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>bonnes_pratiques</title>
        <link>https://wiki.sgy.io/web:javascript:bonnes_pratiques?rev=1755361811&amp;do=diff</link>
        <description>Bonnes pratiques de JavaScript

Le JavaScript n&#039;est pas le meilleur des langage de programmation.  Il a ses faiblesses et c&#039;est pour cette raison qu&#039;il faut établir les bonnes pratiques.

Pratiques générales

Insertion automatique du point-vigule</description>
    </item>
    <item rdf:about="https://wiki.sgy.io/web:javascript:codes?rev=1755361811&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-16T16:30:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>codes</title>
        <link>https://wiki.sgy.io/web:javascript:codes?rev=1755361811&amp;do=diff</link>
        <description>Créer une fenêtre popup


&lt;SCRIPT LANGUAGE=&quot;JavaScript&quot;&gt;
&lt;!—
function afficherPopup(nom_de_la_page, nom_interne_de_la_fenetre)
{
  window.open (nom_de_la_page, nom_interne_de_la_fenetre, config=&#039;height=100, width=400, 
                 toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, directories=no, status=no&#039;)
}
--&gt;
&lt;/SCRIPT&gt;</description>
    </item>
    <item rdf:about="https://wiki.sgy.io/web:javascript:gatsbyjs?rev=1755361811&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-16T16:30:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>gatsbyjs</title>
        <link>https://wiki.sgy.io/web:javascript:gatsbyjs?rev=1755361811&amp;do=diff</link>
        <description>Gatsbyjs

Installer le Gatsby CLI:
$ npm i -g gatsby-cli
$ gatsby telemetry --disable
Checkout un projet starter, aller sur Gatsby Starters et utiliser la commande npx gatsby ... pour checkout le projet.

Dans le répertoire du projet, pour démarrer le serveur et avoir un process watch:</description>
    </item>
    <item rdf:about="https://wiki.sgy.io/web:javascript:inversify?rev=1755361811&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-16T16:30:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>inversify</title>
        <link>https://wiki.sgy.io/web:javascript:inversify?rev=1755361811&amp;do=diff</link>
        <description>Inversify

inversify-express-utils


container
  .bind&lt;RequestHandler&gt;(&#039;Middleware&#039;)
  .toConstantValue(function customMiddleware(req, res, next) {
    console.log(&#039;custom handler&#039;);
    next();
  })
  .whenTargetNamed(&#039;Custom&#039;);



@controller(
  &#039;/portfolios&#039;,
  container.getNamed&lt;RequestHandler&gt;(&#039;Middleware&#039;, &#039;Custom&#039;),
)</description>
    </item>
    <item rdf:about="https://wiki.sgy.io/web:javascript:jquery?rev=1755361811&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-16T16:30:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>jquery</title>
        <link>https://wiki.sgy.io/web:javascript:jquery?rev=1755361811&amp;do=diff</link>
        <description>jQuery

Le jQuery est plus simple et plus rapide à utiliser que le DOM du JavaScript ordinaire.  Par exemple :


document.getElementByTagName(&quot;p&quot;);


s&#039;écrit en jQuery comme suit :


$(&quot;p&quot;);


Ou encore :


document.getElementById(&quot;liste1&quot;);
$(&quot;#liste1&quot;);</description>
    </item>
    <item rdf:about="https://wiki.sgy.io/web:javascript:jwt?rev=1755361811&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-16T16:30:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>jwt</title>
        <link>https://wiki.sgy.io/web:javascript:jwt?rev=1755361811&amp;do=diff</link>
        <description>JSON Web Token

Le JSON Web Token (JWT, prononcé jot) est un standard d&#039;authentification.

&lt;http://self-issued.info/docs/draft-ietf-oauth-json-web-token.html&gt;

Packages node

	*  jose et documentation (panva, moins utilisée, plus complet)
	*  jose (version cisco, plus utilisée, moins complet)
	*  jsonwebtoken
	*  jwks-rsa

Outils

	*  jwt.io

Spécifications</description>
    </item>
    <item rdf:about="https://wiki.sgy.io/web:javascript:langage?rev=1755361811&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-16T16:30:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>langage</title>
        <link>https://wiki.sgy.io/web:javascript:langage?rev=1755361811&amp;do=diff</link>
        <description>Le JavaScript

Il a été inventé par Netscape en même temps que Java dans le milieu des années 1990, mais n&#039;est pas Java.  Grossièrement, ce qui les approche est la syntaxe, rien d&#039;autre.  Le JavaScript est un langage de programmation script qui s&#039;insère dans un document</description>
    </item>
    <item rdf:about="https://wiki.sgy.io/web:javascript:mootools?rev=1755361811&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-16T16:30:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>mootools</title>
        <link>https://wiki.sgy.io/web:javascript:mootools?rev=1755361811&amp;do=diff</link>
        <description>Mootools

Propriétés

Checked

Pour changer la valeur checked sur un radio button par exemple, on ne peut pas faire 		


event.target.getElement(&#039;input&#039;).checked = true;


Avec Mootools, il faut pluttôt faire set() :


event.target.getElement(&#039;input&#039;).set(&#039;checked&#039;, true);</description>
    </item>
    <item rdf:about="https://wiki.sgy.io/web:javascript:outils?rev=1755361811&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-16T16:30:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>outils</title>
        <link>https://wiki.sgy.io/web:javascript:outils?rev=1755361811&amp;do=diff</link>
        <description>Beautifier / Compressor

	*  UglifyJS2</description>
    </item>
    <item rdf:about="https://wiki.sgy.io/web:javascript:rxjs?rev=1755361811&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-16T16:30:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rxjs</title>
        <link>https://wiki.sgy.io/web:javascript:rxjs?rev=1755361811&amp;do=diff</link>
        <description>RxJS

Référence : rxjs.dev

Reactive Programming

	*  ReactiveX.io
	*  RxJS est la version JavaScript
	*  Observable Pattern
	*  Asynchronous programming


getDataFromLocalMemory()
    .skip(10)
    .take(5)
    .map({ s -&gt; return s + &quot; transformed&quot; })
    .subscribe({ println &quot;onNext =&gt; &quot; + it })</description>
    </item>
    <item rdf:about="https://wiki.sgy.io/web:javascript:testing?rev=1755361811&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-16T16:30:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>testing</title>
        <link>https://wiki.sgy.io/web:javascript:testing?rev=1755361811&amp;do=diff</link>
        <description>Jest

Utilisé pour tester des applications JavaScript/TypeScript.

	*  Node
	*  React
	*  Angular
	*  etc

Extensions

	*  Jest-When 

Nightmare

	*  Outil : Daydream
	*  Alternative : Horseman
	*  Web scraping with Nightmare.js
	*  &lt;http://stackoverflow.com/questions/37857545/nightmare-js-conditional-browsing&gt;

Jasmine Marble

Types d&#039;observables:

	*  Hot
	*  Cold

Marble Syntax</description>
    </item>
    <item rdf:about="https://wiki.sgy.io/web:javascript:toc?rev=1755361811&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-16T16:30:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>toc</title>
        <link>https://wiki.sgy.io/web:javascript:toc?rev=1755361811&amp;do=diff</link>
        <description>JavaScript

	*  Langage
	*  Bonnes pratiques
	*  Web API
	*  Angular
	*  NodeJS - npm modules
	*  MEAN Stack
	*  Outils
		*  Grunt
		*  Gulp
		*  Linters

	*  Étendue du prototype Array
	*  ES6
		*  Promesses

	*  Electron
	*  RegExp
	*  React
	*  VueJS
	*  JWT
	*  InversifyJS
	*  Testing

JSON

	*  jq

TypeScript

	*  TypeScript
	*  ESLint avec TypeScript

Le mieux c&#039;est de consulter directement le Handbook officiel de TypeScript.

	*  TypeScript Deep Dive
	*  TypeScript Cheatsheet

Désuet

	* …</description>
    </item>
    <item rdf:about="https://wiki.sgy.io/web:javascript:typescript?rev=1755361811&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-16T16:30:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>typescript</title>
        <link>https://wiki.sgy.io/web:javascript:typescript?rev=1755361811&amp;do=diff</link>
        <description>TypeScript

Installation

	*  Installer node.js
	*  Installer TypeScript par npm : # npm install -g typescript

Linting
@typescript/eslint
	*  Visual Studio Code a une extension : TSLint
	*  Linter Documentation : TSLint (Rules)

Pour installer:
$ npm i -g tslint</description>
    </item>
    <item rdf:about="https://wiki.sgy.io/web:javascript:vuejs?rev=1755361811&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-16T16:30:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vuejs</title>
        <link>https://wiki.sgy.io/web:javascript:vuejs?rev=1755361811&amp;do=diff</link>
        <description>VueJS

Prend en compte VueJs 2+

	*  VueJS 2 API 
	*  Getting Started

Démarrer un projet VueJS2

	*  Se mettre dans le répertoire parent du projet (ne pas créer le répertoire du projet).
	*  $ vue init webpack-simple [nom-du-projet]
	*  npm install
	*  npm run dev

Voir vue-cli</description>
    </item>
    <item rdf:about="https://wiki.sgy.io/web:javascript:web-api?rev=1755361811&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-16T16:30:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>web-api</title>
        <link>https://wiki.sgy.io/web:javascript:web-api?rev=1755361811&amp;do=diff</link>
        <description>Fetch API

Forme de base:


const response = await fetch(urlOrRequest[, options]);


Le premier argument URL ou request (objet) est obligatoire.  Les options sont optionnels.

Options de base:

	*  option.method: GET par default, peut être d&#039;autres verbes HTTP.</description>
    </item>
</rdf:RDF>
