aboutsummaryrefslogtreecommitdiff
path: root/files/fr/mozilla/gecko
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
commit33058f2b292b3a581333bdfb21b8f671898c5060 (patch)
tree51c3e392513ec574331b2d3f85c394445ea803c6 /files/fr/mozilla/gecko
parent8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff)
downloadtranslated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip
initial commit
Diffstat (limited to 'files/fr/mozilla/gecko')
-rw-r--r--files/fr/mozilla/gecko/chrome/css/-moz-window-dragging/index.html107
-rw-r--r--files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-cell-text(hover)/index.html19
-rw-r--r--files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-cell-text/index.html32
-rw-r--r--files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-cell/index.html40
-rw-r--r--files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-column/index.html31
-rw-r--r--files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-drop-feedback/index.html30
-rw-r--r--files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-image/index.html36
-rw-r--r--files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-indentation/index.html29
-rw-r--r--files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-line/index.html30
-rw-r--r--files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-progressmeter/index.html30
-rw-r--r--files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-row(hover)/index.html19
-rw-r--r--files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-row/index.html55
-rw-r--r--files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-separator/index.html31
-rw-r--r--files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-twisty/index.html35
-rw-r--r--files/fr/mozilla/gecko/chrome/css/index.html25
-rw-r--r--files/fr/mozilla/gecko/chrome/index.html15
-rw-r--r--files/fr/mozilla/gecko/faq/index.html201
-rw-r--r--files/fr/mozilla/gecko/gecko_embedding_basics/index.html403
-rw-r--r--files/fr/mozilla/gecko/index.html118
-rw-r--r--files/fr/mozilla/gecko/mozilla_embarqué/api_overview/index.html422
-rw-r--r--files/fr/mozilla/gecko/mozilla_embarqué/faq_de_mozilla_embarqué/embarquer_gecko/index.html133
-rw-r--r--files/fr/mozilla/gecko/mozilla_embarqué/faq_de_mozilla_embarqué/introduction_à_gecko_et_à_l'embarqué/index.html53
-rw-r--r--files/fr/mozilla/gecko/mozilla_embarqué/index.html59
-rw-r--r--files/fr/mozilla/gecko/mozilla_embarqué/intégration_éditeur/index.html133
-rw-r--r--files/fr/mozilla/gecko/sdk_gecko/index.html61
25 files changed, 2147 insertions, 0 deletions
diff --git a/files/fr/mozilla/gecko/chrome/css/-moz-window-dragging/index.html b/files/fr/mozilla/gecko/chrome/css/-moz-window-dragging/index.html
new file mode 100644
index 0000000000..55ddef129a
--- /dev/null
+++ b/files/fr/mozilla/gecko/chrome/css/-moz-window-dragging/index.html
@@ -0,0 +1,107 @@
+---
+title: '-moz-window-dragging'
+slug: Mozilla/Gecko/Chrome/CSS/-moz-window-dragging
+tags:
+ - CSS
+ - Non-standard
+ - Propriété
+ - Reference
+ - XUL
+translation_of: Mozilla/Gecko/Chrome/CSS/-moz-window-dragging
+---
+<div>{{Non-standard_header}}{{CSSRef}}</div>
+
+<p>La propriété <strong><code>-moz-window-dragging</code></strong> indique si une fenêtre peut être déplacée. Elle ne peut être utilisée qu'à partir de code appelé pour l'interface utilisateur du navigateur et uniquement sur macOS X.</p>
+
+<p>Cette propriété a été ajoutée à Firefox 35 afin de résoudre certains problèmes liés à la fenêtre de Firefox qui ne pouvait pas être déplacé lorsque celui-ci était occupé ({{bug(944836)}}).</p>
+
+<p>{{cssinfo}}</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<p>La propriété <code>-moz-window-dragging</code> s'utilise avec un des mots-clés parmi ceux de la liste suivante.</p>
+
+<h3 id="Valeurs">Valeurs</h3>
+
+<dl>
+ <dt><code>drag</code></dt>
+ <dd>La fenêtre peut être déplacée.</dd>
+ <dt><code>no-drag</code></dt>
+ <dd>La fenêtre ne peut pas être déplacée.</dd>
+</dl>
+
+<h3 id="Syntaxe_formelle">Syntaxe formelle</h3>
+
+<pre class="syntaxbox">{{csssyntax}}</pre>
+
+<h2 id="Exemple">Exemple</h2>
+
+<pre><code id="line-283">toolbarpaletteitem {
+</code><code id="line-284"> -moz-window-dragging: no-drag;
+</code><code id="line-285">}</code></pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<p>Cette propriété ne fait partie d'aucune spécification.</p>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Fonctionnalité</th>
+ <th>Chrome</th>
+ <th>Edge</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari (WebKit)</th>
+ </tr>
+ <tr>
+ <td>Support simple</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>
+ <p>{{CompatGeckoDesktop(35)}}</p>
+ </td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Fonctionnalité</th>
+ <th>Android</th>
+ <th>Webview Android</th>
+ <th>Edge</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Phone</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ <th>Chrome pour Android</th>
+ </tr>
+ <tr>
+ <td>Support simple</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatGeckoMobile(35)}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<p> </p>
diff --git a/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-cell-text(hover)/index.html b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-cell-text(hover)/index.html
new file mode 100644
index 0000000000..37bcb675cd
--- /dev/null
+++ b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-cell-text(hover)/index.html
@@ -0,0 +1,19 @@
+---
+title: ':-moz-tree-cell-text(hover)'
+slug: 'Mozilla/Gecko/Chrome/CSS/::-moz-tree-cell-text(hover)'
+tags:
+ - CSS
+ - Non-standard
+ - Pseudo-classe
+ - Reference
+translation_of: 'Mozilla/Gecko/Chrome/CSS/::-moz-tree-cell-text(hover)'
+---
+<div>{{Non-standard_header}}{{CSSRef}}{{Fx_minversion_header(1.9)}}</div>
+
+<p>La pseudo-classe <strong><code>:-moz-tree-cell-text(hover)</code></strong> correspond à un élément si le curseur de la souris est en train de survoler une cellule d'un arbre.</p>
+
+<p>Ce sélecteur est principalement destiné aux développeurs de thèmes.</p>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<p>Cette pseudo-classe est une pseudo-classe propriétaire liée à Gecko/Mozilla et ne fait partie d'aucune spécification.</p>
diff --git a/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-cell-text/index.html b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-cell-text/index.html
new file mode 100644
index 0000000000..c20c552b1f
--- /dev/null
+++ b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-cell-text/index.html
@@ -0,0 +1,32 @@
+---
+title: ':-moz-tree-cell-text'
+slug: 'Mozilla/Gecko/Chrome/CSS/::-moz-tree-cell-text'
+tags:
+ - CSS
+ - Non-standard
+ - Pseudo-classe
+ - Reference
+translation_of: 'Mozilla/Gecko/Chrome/CSS/::-moz-tree-cell-text'
+---
+<div>{{Non-standard_header}}{{CSSRef}}</div>
+
+<p>Cette pseudo-classe est activée avec l'attribut <code>properties</code>.</p>
+
+<h2 id="Éléments_XUL_associés">Éléments XUL associés</h2>
+
+<ul>
+ <li>{{XULElem("treecell")}}</li>
+</ul>
+
+<h2 id="Propriétés_associées">Propriétés associées</h2>
+
+<ul>
+ <li>{{cssxref("font")}}</li>
+ <li>{{cssxref("visibility")}}</li>
+ <li>{{cssxref("color")}}</li>
+ <li>{{cssxref("text-decoration")}}</li>
+</ul>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<p>Cette pseudo-classe est une pseudo-classe propriétaire liée à Gecko/Mozilla et ne fait partie d'aucune spécification.</p>
diff --git a/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-cell/index.html b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-cell/index.html
new file mode 100644
index 0000000000..5397076180
--- /dev/null
+++ b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-cell/index.html
@@ -0,0 +1,40 @@
+---
+title: ':-moz-tree-cell'
+slug: 'Mozilla/Gecko/Chrome/CSS/::-moz-tree-cell'
+tags:
+ - CSS
+ - Non-standard
+ - Pseudo-classe
+ - Reference
+translation_of: 'Mozilla/Gecko/Chrome/CSS/::-moz-tree-cell'
+---
+<div>{{Non-standard_header}}{{CSSRef}}</div>
+
+<p>Cette pseudo-classe est activée avec l'attribut <code>properties</code>.</p>
+
+<h2 id="Éléments_XUL_associés">Éléments XUL associés</h2>
+
+<ul>
+ <li>{{XULElem("treecell")}}</li>
+</ul>
+
+<h2 id="Propriétés_associées">Propriétés associées</h2>
+
+<ul>
+ <li>{{cssxref("background")}}</li>
+ <li>{{cssxref("border")}}</li>
+ <li>{{cssxref("margin")}}</li>
+ <li>{{cssxref("outline")}}</li>
+ <li>{{cssxref("padding")}}</li>
+ <li>{{cssxref("visibility")}}</li>
+</ul>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<p>Cette pseudo-classe est une pseudo-classe propriétaire liée à Gecko/Mozilla et ne fait partie d'aucune spécification.</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li><a href="/fr/docs/Tutoriel_XUL/Styler_un_arbre">Mettre en forme un arbre XUL</a></li>
+</ul>
diff --git a/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-column/index.html b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-column/index.html
new file mode 100644
index 0000000000..8e0bcb2932
--- /dev/null
+++ b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-column/index.html
@@ -0,0 +1,31 @@
+---
+title: ':-moz-tree-column'
+slug: 'Mozilla/Gecko/Chrome/CSS/::-moz-tree-column'
+tags:
+ - CSS
+ - Non-standard
+ - Pseudo-classe
+ - Reference
+translation_of: 'Mozilla/Gecko/Chrome/CSS/::-moz-tree-column'
+---
+<div>{{Non-standard_header}}{{CSSRef}}</div>
+
+<p>Cette pseudo-classe est activée avec l'attribut <code>properties</code>.</p>
+
+<h2 id="Éléments_XUL_associés">Éléments XUL associés</h2>
+
+<ul>
+ <li>{{XULElem("treecol")}}</li>
+</ul>
+
+<h2 id="Propriétés_associées">Propriétés associées</h2>
+
+<ul>
+ <li>{{cssxref("margin")}}</li>
+ <li>{{cssxref("visibility")}}</li>
+ <li>{{cssxref("text style")}}</li>
+</ul>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<p>Cette pseudo-classe est une pseudo-classe propriétaire liée à Gecko/Mozilla et ne fait partie d'aucune spécification.</p>
diff --git a/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-drop-feedback/index.html b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-drop-feedback/index.html
new file mode 100644
index 0000000000..2b81402253
--- /dev/null
+++ b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-drop-feedback/index.html
@@ -0,0 +1,30 @@
+---
+title: ':-moz-tree-drop-feedback'
+slug: 'Mozilla/Gecko/Chrome/CSS/::-moz-tree-drop-feedback'
+tags:
+ - CSS
+ - Non-standard
+ - Pseudo-classe
+ - Reference
+translation_of: 'Mozilla/Gecko/Chrome/CSS/::-moz-tree-drop-feedback'
+---
+<div>{{Non-standard_header}}{{CSSRef}}</div>
+
+<p>Cette pseudo-classe est activée avec l'attribut <code>properties</code>.</p>
+
+<h2 id="Éléments_XUL_associés">Éléments XUL associés</h2>
+
+<ul>
+ <li>{{XULElem("treerow")}}</li>
+</ul>
+
+<h2 id="Propriétés_associées">Propriétés associées</h2>
+
+<ul>
+ <li>{{cssxref("margin")}}</li>
+ <li>{{cssxref("visibility")}}</li>
+</ul>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<p>Cette pseudo-classe est une pseudo-classe propriétaire liée à Gecko/Mozilla et ne fait partie d'aucune spécification.</p>
diff --git a/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-image/index.html b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-image/index.html
new file mode 100644
index 0000000000..2305bb1423
--- /dev/null
+++ b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-image/index.html
@@ -0,0 +1,36 @@
+---
+title: ':-moz-tree-image'
+slug: 'Mozilla/Gecko/Chrome/CSS/::-moz-tree-image'
+tags:
+ - CSS
+ - Non-standard
+ - Pseudo-classe
+ - Reference
+translation_of: 'Mozilla/Gecko/Chrome/CSS/:-moz-tree-image'
+---
+<div>{{Non-standard_header}}{{CSSRef}}</div>
+
+<p>Cette pseudo-classe est activée avec l'attribut <code>properties</code>.</p>
+
+<h2 id="Éléments_XUL_associés">Éléments XUL associés</h2>
+
+<ul>
+ <li>{{XULElem("treeitem")}}</li>
+ <li>{{XULElem("treecell")}}</li>
+</ul>
+
+<h2 id="Propriétés_associées">Propriétés associées</h2>
+
+<ul>
+ <li>{{cssxref("margin")}}</li>
+ <li>{{cssxref("list-style")}}</li>
+ <li>{{cssxref("position")}}</li>
+</ul>
+
+<h2 id="Exemples">Exemples</h2>
+
+<p><em><a class="external" href="http://forums.mozillazine.org/viewtopic.php?t=610762&amp;sid=2aa24bf393171dd0c9bd9343b3d355c3">Bookmark icons in the Places window - Mozillazine Forum</a></em><a class="external" href="http://forums.mozillazine.org/viewtopic.php?t=610762&amp;sid=2aa24bf393171dd0c9bd9343b3d355c3"> (en anglais)</a></p>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<p>Cette pseudo-classe est une pseudo-classe propriétaire liée à Gecko/Mozilla et ne fait partie d'aucune spécification.</p>
diff --git a/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-indentation/index.html b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-indentation/index.html
new file mode 100644
index 0000000000..83d93fe084
--- /dev/null
+++ b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-indentation/index.html
@@ -0,0 +1,29 @@
+---
+title: ':-moz-tree-indentation'
+slug: 'Mozilla/Gecko/Chrome/CSS/::-moz-tree-indentation'
+tags:
+ - CSS
+ - Non-standard
+ - Pseudo-classe
+ - Reference
+translation_of: 'Mozilla/Gecko/Chrome/CSS/::-moz-tree-indentation'
+---
+<div>{{Non-standard_header}}{{CSSRef}}</div>
+
+<p>Cette pseudo-classe est activée avec l'attribut <code>properties</code>.</p>
+
+<h2 id="Éléments_XUL_associés">Éléments XUL associés</h2>
+
+<ul>
+ <li>{{XULElem("treeitem")}}</li>
+</ul>
+
+<h2 id="Propriétés_associées">Propriétés associées</h2>
+
+<ul>
+ <li>{{cssxref("position")}}</li>
+</ul>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<p>Cette pseudo-classe est une pseudo-classe propriétaire liée à Gecko/Mozilla et ne fait partie d'aucune spécification.</p>
diff --git a/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-line/index.html b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-line/index.html
new file mode 100644
index 0000000000..b3306ea046
--- /dev/null
+++ b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-line/index.html
@@ -0,0 +1,30 @@
+---
+title: ':-moz-tree-line'
+slug: 'Mozilla/Gecko/Chrome/CSS/::-moz-tree-line'
+tags:
+ - CSS
+ - Non-standard
+ - Pseudo-classe
+ - Reference
+translation_of: 'Mozilla/Gecko/Chrome/CSS/::-moz-tree-line'
+---
+<div>{{Non-standard_header}}{{CSSRef}}</div>
+
+<p>Cette pseudo-classe est activée avec l'attribut <code>properties</code>.</p>
+
+<h2 id="Éléments_XUL_associés">Éléments XUL associés</h2>
+
+<ul>
+ <li>{{XULElem("treeitem")}}</li>
+</ul>
+
+<h2 id="Propriétés_associées">Propriétés associées</h2>
+
+<ul>
+ <li>{{cssxref("border")}}</li>
+ <li>{{cssxref("visibility")}}</li>
+</ul>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<p>Cette pseudo-classe est une pseudo-classe propriétaire liée à Gecko/Mozilla et ne fait partie d'aucune spécification.</p>
diff --git a/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-progressmeter/index.html b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-progressmeter/index.html
new file mode 100644
index 0000000000..09f8ce7451
--- /dev/null
+++ b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-progressmeter/index.html
@@ -0,0 +1,30 @@
+---
+title: ':-moz-tree-progressmeter'
+slug: 'Mozilla/Gecko/Chrome/CSS/::-moz-tree-progressmeter'
+tags:
+ - CSS
+ - Non-standard
+ - Pseudo-classe
+ - Reference
+translation_of: 'Mozilla/Gecko/Chrome/CSS/::-moz-tree-progressmeter'
+---
+<div>{{Non-standard_header}}{{CSSRef}}</div>
+
+<p>Cette pseudo-classe est activée lorsque l'attribut <code>type</code> est défini sur <code>progressmeter</code>.</p>
+
+<h2 id="Éléments_XUL_associés">Éléments XUL associés</h2>
+
+<ul>
+ <li>{{XULElem("treecell")}}</li>
+</ul>
+
+<h2 id="Propriétés_associées">Propriétés associées</h2>
+
+<ul>
+ <li>{{cssxref("margin")}}</li>
+ <li>{{cssxref("color")}}</li>
+</ul>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<p>Cette pseudo-classe est une pseudo-classe propriétaire liée à Gecko/Mozilla et ne fait partie d'aucune spécification.</p>
diff --git a/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-row(hover)/index.html b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-row(hover)/index.html
new file mode 100644
index 0000000000..bfc3bed3de
--- /dev/null
+++ b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-row(hover)/index.html
@@ -0,0 +1,19 @@
+---
+title: ':-moz-tree-row(hover)'
+slug: 'Mozilla/Gecko/Chrome/CSS/::-moz-tree-row(hover)'
+tags:
+ - CSS
+ - Non-standard
+ - Pseudo-classe
+ - Reference
+translation_of: 'Mozilla/Gecko/Chrome/CSS/::-moz-tree-row(hover)'
+---
+<div>{{Non-standard_header}}{{CSSRef}}{{Fx_minversion_header(3)}}</div>
+
+<p>La pseudo-classe <strong><code>:-moz-tree-row(hover)</code></strong> correspond à un élément si le curseur de la souris est en train de survoler une ligne d'un arbre.</p>
+
+<p>Ce sélecteur est principalement destiné aux développeurs de thèmes.</p>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<p>Cette pseudo-classe est une pseudo-classe propriétaire liée à Gecko/Mozilla et ne fait partie d'aucune spécification.</p>
diff --git a/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-row/index.html b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-row/index.html
new file mode 100644
index 0000000000..6fd4596d0b
--- /dev/null
+++ b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-row/index.html
@@ -0,0 +1,55 @@
+---
+title: ':-moz-tree-row'
+slug: 'Mozilla/Gecko/Chrome/CSS/::-moz-tree-row'
+tags:
+ - CSS
+ - Non-standard
+ - Pseudo-classe
+ - Reference
+translation_of: 'Mozilla/Gecko/Chrome/CSS/::-moz-tree-row'
+---
+<div>{{CSSRef}}{{Non-standard_header}}</div>
+
+<p>La pseudo-classe <strong><code>-moz-tree-row</code></strong> est utilisée afin de sélectionner des lignes d'un arbre pour leur appliquer des styles</p>
+
+<h2 id="Éléments_XUL_associés">Éléments XUL associés</h2>
+
+<ul>
+ <li>{{XULElem("treerow")}}</li>
+</ul>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox">treechildren::-moz-tree-row { <em>propriétés de style </em>}
+</pre>
+
+<h2 id="Propriétés_associées">Propriétés associées</h2>
+
+<ul>
+ <li>{{cssxref("background")}}</li>
+ <li>{{cssxref("border")}}</li>
+ <li>{{cssxref("margin")}}</li>
+ <li>{{cssxref("outline")}}</li>
+ <li>{{cssxref("padding")}}</li>
+ <li>{{cssxref("display")}}</li>
+ <li>{{cssxref("-moz-appearance")}}</li>
+</ul>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="CSS">CSS</h3>
+
+<pre class="brush: css">treechildren::-moz-tree-row( toto bar )
+{
+ margin: 2%;
+}
+</pre>
+
+<h3 id="XUL">XUL</h3>
+
+<pre class="brush: xml">&lt;treerow properties="toto"&gt;…&lt;/treerow&gt;
+</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<p>Cette pseudo-classe est une pseudo-classe propriétaire liée à Gecko/Mozilla et ne fait partie d'aucune spécification.</p>
diff --git a/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-separator/index.html b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-separator/index.html
new file mode 100644
index 0000000000..2f0f6e1769
--- /dev/null
+++ b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-separator/index.html
@@ -0,0 +1,31 @@
+---
+title: ':-moz-tree-separator'
+slug: 'Mozilla/Gecko/Chrome/CSS/::-moz-tree-separator'
+tags:
+ - CSS
+ - Non-standard
+ - Pseudo-classe
+ - Reference
+translation_of: 'Mozilla/Gecko/Chrome/CSS/::-moz-tree-separator'
+---
+<div>{{CSSRef}}{{Non-standard_header}}</div>
+
+<p>Cette pseudo-classe est activée via l'attribut <code>properties</code> .</p>
+
+<h2 id="Éléments_XUL_associés">Éléments XUL associés</h2>
+
+<ul>
+ <li>{{XULElem(" treeseparator ")}}</li>
+</ul>
+
+<h2 id="Propriétés_associées">Propriétés associées</h2>
+
+<ul>
+ <li>{{cssxref("border")}}</li>
+ <li>{{cssxref("display")}}</li>
+ <li>{{cssxref("-moz-appearance")}}</li>
+</ul>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<p>Cette pseudo-classe est une pseudo-classe propriétaire liée à Gecko/Mozilla et ne fait partie d'aucune spécification.</p>
diff --git a/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-twisty/index.html b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-twisty/index.html
new file mode 100644
index 0000000000..b863bca3ff
--- /dev/null
+++ b/files/fr/mozilla/gecko/chrome/css/_doublecolon_-moz-tree-twisty/index.html
@@ -0,0 +1,35 @@
+---
+title: ':-moz-tree-twisty'
+slug: 'Mozilla/Gecko/Chrome/CSS/::-moz-tree-twisty'
+tags:
+ - CSS
+ - Non-standard
+ - Pseudo-classe
+ - Reference
+translation_of: 'Mozilla/Gecko/Chrome/CSS/::-moz-tree-twisty'
+---
+<div>{{CSSRef}}{{Non-standard_header}}</div>
+
+<p>Cette pseudo-classe est activée via l'attribut <code>properties</code> .</p>
+
+<h2 id="Éléments_XUL_associés">Éléments XUL associés</h2>
+
+<ul>
+ <li>{{XULElem("treecell")}}</li>
+</ul>
+
+<h2 id="Propriétés_associées">Propriétés associées</h2>
+
+<ul>
+ <li>{{cssxref("border")}}</li>
+ <li>{{cssxref("margin")}}</li>
+ <li>{{cssxref("padding")}}</li>
+ <li>{{cssxref("display")}}</li>
+ <li>{{cssxref("list-style")}}</li>
+ <li>{{cssxref("position")}}</li>
+ <li>{{cssxref("-moz-appearance")}}</li>
+</ul>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<p>Cette pseudo-classe est une pseudo-classe propriétaire liée à Gecko/Mozilla et ne fait partie d'aucune spécification.</p>
diff --git a/files/fr/mozilla/gecko/chrome/css/index.html b/files/fr/mozilla/gecko/chrome/css/index.html
new file mode 100644
index 0000000000..1edf837046
--- /dev/null
+++ b/files/fr/mozilla/gecko/chrome/css/index.html
@@ -0,0 +1,25 @@
+---
+title: Chrome-only CSS reference
+slug: Mozilla/Gecko/Chrome/CSS
+tags:
+ - Aperçu
+ - CSS
+ - Gecko
+ - Mozilla
+ - Non-standard
+ - Reference
+translation_of: Mozilla/Gecko/Chrome/CSS
+---
+<div>{{CSSRef}}</div>
+
+<p class="summary">Cette page liste les propriétés CSS uniquement accessible depuis le code du chrome de Gecko.</p>
+
+<p>{{SubpagesWithSummaries}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li><a href="/fr/docs/Web/CSS/Mozilla_Extensions">Les extensions CSS de Mozilla</a></li>
+ <li><a href="/fr/docs/Web/CSS/Reference">La référence CSS</a></li>
+ <li><a href="/fr/docs/Web/CSS">CSS</a></li>
+</ul>
diff --git a/files/fr/mozilla/gecko/chrome/index.html b/files/fr/mozilla/gecko/chrome/index.html
new file mode 100644
index 0000000000..6f5de4f5ea
--- /dev/null
+++ b/files/fr/mozilla/gecko/chrome/index.html
@@ -0,0 +1,15 @@
+---
+title: Gecko Chrome
+slug: Mozilla/Gecko/Chrome
+tags:
+ - Aperçu
+ - Chrome
+ - Gecko
+ - Mozilla
+translation_of: Mozilla/Gecko/Chrome
+---
+<div>{{FirefoxSidebar}}</div>
+
+<div>Cette page contient des informations spécifiques au code de Gecko responsable du "chrome" (les éléments de l'interface utilisateur).</div>
+
+<p>{{SubpagesWithSummaries}}</p>
diff --git a/files/fr/mozilla/gecko/faq/index.html b/files/fr/mozilla/gecko/faq/index.html
new file mode 100644
index 0000000000..be9fbe5bd8
--- /dev/null
+++ b/files/fr/mozilla/gecko/faq/index.html
@@ -0,0 +1,201 @@
+---
+title: Gecko FAQ
+slug: Mozilla/Gecko/FAQ
+translation_of: Gecko/FAQ
+---
+<h3 id="What_is_Gecko.3F" name="What_is_Gecko.3F">Qu'est-ce que Gecko?</h3>
+
+<p>Gecko est un moteur open source de rendu web supportant différents standards d'internet comme le <a href="https://developer.mozilla.org/fr/docs/Web/HTML">HTML</a>, le <a href="https://developer.mozilla.org/fr/docs/Web/CSS">CSS</a>, le <a href="https://developer.mozilla.org/fr/docs/Web/API/R%C3%A9f%C3%A9rence_du_DOM_Gecko">DOM</a>, <a href="https://developer.mozilla.org/fr/docs/Glossaire/XML">XML</a>, <a href="https://developer.mozilla.org/fr/docs/Web/JavaScript">javascript</a> et d'autres standards encore.</p>
+
+<p>Gecko est utilisé par de nombreux navigateurs internet, avec bien entendu Mozilla Firefox, mais aussi SeaMonkey, Camino. Gecko est en développement constant par les développeurs de Mozilla. Gecko est le nom final du moteur, il s'appelait aussi "Raptor" et "NGLayout"; mais le nom final du moteur a été choisi suite à un litige.</p>
+
+<p>Pour plus d'informations, visitez <a href="https://fr.wikipedia.org/wiki/Gecko_(moteur_de_rendu)">l'article Gecko (moteur de rendu) sur Wikipedia</a>.</p>
+
+<h3 id="What_is_a_layout_engine.3F" name="What_is_a_layout_engine.3F">Qu'est-ce qu'un moteur de rendu?</h3>
+
+<p>Un <a href="https://en.wikipedia.org/wiki/Layout_engine">moteur de rendu </a>va aller traduire le contenu des fichiers (les fichiers pouvant être une page internet en HTML, XML, des images...) et s'occupe de formater les informations contenus dans les fichiers, généralement le HTML, qui décrivent l'emplacement des textes, des images etc... afin de faire affiché l'information comme le voulait le webmaster. Il dessine la page web dans la zone de rendu de la fenêtre du navigateur.</p>
+
+<p>Ainsi officiellement, un moteur de rendu définie la politique de placement pour un docuement et fait la mise en page. Gecko est un moteur de rendu trés rapide. Il offre la possibilité de parser de nombreux types de docuements (HTML, XML, SVG, etc...). Il est capable de donné un rendu avancé en incluant les compositions et les transformations. Il supporte aussi le javascript et les <a href="/en/Plugins">plugins</a>.</p>
+
+<p>Gecko est si rapide et puissant qu'il peut être utiliser pour créer des interfaces utilisateurs pour certaines applications ("chrome").  En d'autres termes, Gecko ne fait pas seulement que affiché le contenu d'un document, il peut aussi être utiliser pour dessiner des barres de défilement, des menus à l'écran. Pour plus d'information, reportez-vous à la documentation sur <a href="https://developer.mozilla.org/fr/docs/Tutoriel_XUL">XUL</a>.</p>
+
+<h3 id="How_is_a_layout_engine_like_Gecko_different_from_a_Web_browser.3F" name="How_is_a_layout_engine_like_Gecko_different_from_a_Web_browser.3F">How is a layout engine like Gecko different from a Web browser?</h3>
+
+<p>Gecko fournit la base nécessaire pour afficher l'information à l'écran, en incluant un moteur de rendu ainsi qu'un ensemble complémentaire de composants du navigateur. Cependant, Gecko ne supporte pas tous les composants aux côtés d'autres modules d'interface dans une application cohérente (y compris les menus, les barres d'outils, etc...) tel que Firefox.</p>
+
+<p>La fondation Mozilla assemble les composants nécessaires dans ses logiciels, comme Firefox, Thunderbird, SeaMonkey, Camino, qui sont disponibles au téléchargement sur le site mozilla.org. Netscape a publié sa propre version du navigateur sous la marque Netscape Navigator. D'autres compagnies crée aussi leur propre logiciel et matériel qui utilisent Gecko. Voir <a href="https://developer.mozilla.org/fr/docs/Floril%C3%A8ge_des_applications_XULrunner">la page recensant une liste de logiciel </a>dans lequel Gecko est utilisé via XULRunner.</p>
+
+<p>Les éditeurs tiers comme les éditeurs de logiciels et fournisseurs de matériels vont choisir les composants qu'ils souhaitent utiliser dans leurs logiciels ou matériels. Certains composants du navigateur ne sont pas fournis dans les fonctionnalités de Gecko, comme les marque page, l'historique de navigation, les faboris.... Cependant, la source de tous ces composants sont disponibles au téléchargement sur le portail mozilla.org.</p>
+
+<h3 id="Why_was_Gecko_built.3F" name="Why_was_Gecko_built.3F">Why was Gecko built?</h3>
+
+<p>The original Mozilla browser, first released as Navigator 1.0, was developed rapidly by a small team that was passionate about creating the next killer app, and they succeeded. Now that the web has evolved, a new generation layout engine was needed upon which future products could be built. Gecko enables a pioneering new class of dynamic content that is more interactive and offers greater presentation control to Web developers, using open and recommended Internet standards instead of proprietary APIs. You are encouraged to join this team by getting involved.</p>
+
+<h3 id="How_is_mozilla.org_using_Gecko.3F" name="How_is_mozilla.org_using_Gecko.3F">How is mozilla.org using Gecko?</h3>
+
+<p>mozilla.org will assemble the Gecko layout engine and other browser components into the Mozilla browser application.</p>
+
+<h3 id="How_does_Mozilla_use_Gecko.3F" name="How_does_Mozilla_use_Gecko.3F">How does Mozilla use Gecko?</h3>
+
+<p>Gecko lies at the heart of Mozilla and Firefox browsers, as well as others, powering all of the individual components. Gecko technologies will also power the display of the mozilla.com portal site, speedily delivering more exciting content and services. Gecko's architecture will serve Mozilla well into the future, enabling faster time to market, more innovation, less costly development, easier distribution and updating, and better cross platform support.</p>
+
+<h3 id="How_can_other_companies_and_organizations_use_Gecko.3F" name="How_can_other_companies_and_organizations_use_Gecko.3F">How can other companies and organizations use Gecko?</h3>
+
+<p>Because Gecko is small, lightweight, and open source, other companies and organizations can easily reuse it. Many hardware vendors are creating devices with network access and wish to include web browsing functionality. Likewise, many software developers want to include Web browsing capability in their applications, but don't want to independently develop browser software. These developers can pick and choose the browser components they want from among those that Gecko offers, and package these components alongside their own within their finished products.</p>
+
+<h3 id="Which_open_standards_is_the_Gecko_development_project_working_to_support.2C_and_to_what_extent_does_it_support_them.3F" name="Which_open_standards_is_the_Gecko_development_project_working_to_support.2C_and_to_what_extent_does_it_support_them.3F">Which open standards is the Gecko development project working to support, and to what extent does it support them?</h3>
+
+<p>By the end of calendar year 2000, Gecko is expected to support the following recommended open Internet standards fully except for the areas noted below and open bugs documented in <a class="link-https" href="https://bugzilla.mozilla.org/">Bugzilla</a>:</p>
+
+<ul>
+ <li>HTML 4.0 - full support except for:
+ <ul>
+ <li>elements: BDO, BASEFONT</li>
+ <li>attributes: shape attribute on the A element, abbr, axis, headers, scope-row, scope-col, scope-rowgroup, scope-colgroup, charoff, datasrc, datafld, dataformat, datapagesize, summary, event, dir, align on table columns, label attribute of OPTION, alternate text of AREA elements, longdesc</li>
+ <li>various metadata attributes: cite, datetime, lang, hreflang</li>
+ <li>bidirectional text layout, which is only used in Hebrew and Arabic (IBM has begun work to add bidi support in a future release)</li>
+ </ul>
+ </li>
+ <li>Style Sheets
+ <ul>
+ <li>CSS 1 - full support, except for:
+ <ul>
+ <li>the application of styles to HTML column elements</li>
+ <li>the ability to turn off author styles</li>
+ <li>the names of certain Mozilla extension pseudo-classes lack the moz- prefix</li>
+ </ul>
+ </li>
+ <li>CSS 2 - partial support is expected and has already been built into Gecko, including support for CSS2 positioning, but no commitment has been made to achieve a specific level of support</li>
+ </ul>
+ </li>
+ <li>DOM
+ <ul>
+ <li>Level 0</li>
+ <li>Level 1 Core: full support
+ <ul>
+ <li>making EntityReferences available through DOM1; per a provision of the DOM1 spec for XML implementations, Entities will be automatically expanded inline and therefore not available through DOM1; our implementation extrapolates this provision to apply to EntityReferences as well</li>
+ <li>For more information, see the <a href="/en/DOM" title="en/DOM">DOM in Mozilla</a></li>
+ </ul>
+ </li>
+ <li>Level 1 HTML</li>
+ <li>DOM 2 - Most of it has already been implemented in Gecko, including support for DOM 2 events, the DOM 2 Style, and the DOM2 Core. DOM 3 support is also planned for a future release.</li>
+ </ul>
+ </li>
+ <li>XML 1.0: full support, except for processing to manipulate default attributes</li>
+ <li>RDF: full support, except for aboutEach, aboutEachPrefix, and parseType</li>
+ <li>JavaScript 1.5, including ECMA-262 Edition 3 (ECMAscript) compliance, except for Date.toDateString and Date.toTimeString, which are not implemented</li>
+ <li>Transfer protocols: HTTP 1.1 (including gzip compression), FTP</li>
+ <li>SSL</li>
+ <li>Unicode</li>
+ <li>OJI (Open Java Interface)</li>
+ <li>Image formats
+ <ul>
+ <li>PNG</li>
+ <li>GIF</li>
+ <li>JPEG, PJPEG</li>
+ </ul>
+ </li>
+</ul>
+
+<h3 id="Does_.22full_support.22_mean_that_Gecko_has_zero_bugs_today_or_will_have_zero_bugs_at_some_point_in_the_future.3F" name="Does_.22full_support.22_mean_that_Gecko_has_zero_bugs_today_or_will_have_zero_bugs_at_some_point_in_the_future.3F">Does "full support" mean that Gecko has zero bugs today or will have zero bugs at some point in the future?</h3>
+
+<p>Of course not. As Robert O'Callahan notes in {{ Bug(25707) }}, "Full HTML4/CSS1 compliance can't mean '100% bug free'. If it does, no-one will ever ship a fully compliant browser."</p>
+
+<p>Because web pages can be arbitrarily long and complex and have arbitrarily deeply nested markup, it will always be possible to construct web pages that do not display in a given browser the way the specifications would recommend. So long as QA testing and test case development continues, there will always be known bugs at any given point in time in the open-source Gecko codebase, and it follows that every commercial product that has ever shipped and ever will ship based on Gecko will have known bugs at the time of its release. (The same principle of course applies to other browser engine development projects and products based upon them as well.)</p>
+
+<p>Known bugs in the open-source Gecko codebase are documented in <a class="link-https" href="https://bugzilla.mozilla.org/">Bugzilla</a>. Here are some links to lists of reported bugs related to the standards mentioned above; be aware that these raw lists of open in-process bugs will inevitably include some duplicate, out of date, unreproducible, invalid, and incorrectly tagged reports:</p>
+
+<div class="note">The links themselves are probably outdated too.</div>
+
+<ul>
+ <li><a class="link-https" href="https://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;component=Layout&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;status_whiteboard=&amp;status_whiteboard_type=substring&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time">Layout</a> component tracks content layout bugs that may be related to a variety of specifications</li>
+ <li>HTML 4.0
+ <ul>
+ <li><a class="link-https" href="https://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;component=Form+Submission&amp;component=HTML+Element&amp;component=HTML+Form+Controls&amp;component=HTMLFrames&amp;component=HTMLTables&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;status_whiteboard=&amp;status_whiteboard_type=substring&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time">Elements, Form Controls, Frames, Tables, and Form Submission</a></li>
+ <li>bug reports marked with the <a class="link-https" href="https://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;status_whiteboard=&amp;status_whiteboard_type=substring&amp;keywords=html4&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time">html4 keyword</a></li>
+ <li>"meta bug" for tracking outstanding issues with <a class="link-https" href="https://bugzilla.mozilla.org/show_bug.cgi?id=7954">HTML 4.01 compliance</a></li>
+ </ul>
+ </li>
+ <li>CSS: <a class="link-https" href="https://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;component=Style+System&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;status_whiteboard=&amp;status_whiteboard_type=substring&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time">Style System</a> component (see also bug reports marked with the <a class="link-https" href="https://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;component=Style+System&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;status_whiteboard=&amp;status_whiteboard_type=substring&amp;keywords=css1&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time">css1</a>, <a class="link-https" href="https://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;component=Style+System&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;status_whiteboard=&amp;status_whiteboard_type=substring&amp;keywords=css2&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time">css2</a>, and <a class="link-https" href="https://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;component=Style+System&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;status_whiteboard=&amp;status_whiteboard_type=substring&amp;keywords=css3&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time">css3</a> keywords)</li>
+ <li>DOM: see <a class="link-https" href="https://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;component=DOM+Level+0&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;status_whiteboard=&amp;status_whiteboard_type=substring&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time">DOM0</a>, <a class="link-https" href="https://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;component=DOM+Level+1&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;status_whiteboard=&amp;status_whiteboard_type=substring&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time">DOM1</a>, <a class="link-https" href="https://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;component=DOM+Level+2&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;status_whiteboard=&amp;status_whiteboard_type=substring&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time">DOM2</a> and <a class="link-https" href="https://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;component=Event+Handling&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;status_whiteboard=&amp;status_whiteboard_type=substring&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time">Event Handling</a> components</li>
+ <li><a class="link-https" href="https://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;component=XML&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;status_whiteboard=&amp;status_whiteboard_type=substring&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time">XML</a></li>
+ <li><a class="link-https" href="https://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;component=RDF&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;status_whiteboard=&amp;status_whiteboard_type=substring&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time">RDF</a></li>
+ <li>core JavaScript language interpreter (<a class="link-https" href="https://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;component=Javascript+Engine&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;status_whiteboard=&amp;status_whiteboard_type=substring&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time">JavaScript engine</a>)</li>
+ <li>HTTP 1.1 compliance bugs should generally be found on the <a class="link-https" href="https://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;component=Necko&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;status_whiteboard=&amp;status_whiteboard_type=substring&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time">Networking, Networking - General, and Networking: Cache</a> components</li>
+ <li><a class="link-https" href="https://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;component=OJI&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;status_whiteboard=&amp;status_whiteboard_type=substring&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time">OJI</a></li>
+ <li><a class="link-https" href="https://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;component=ImageLib&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;status_whiteboard=&amp;status_whiteboard_type=substring&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time">Imagelib</a> image library (see also <a class="link-https" href="https://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;component=JPEG+Image+Handling&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;status_whiteboard=&amp;status_whiteboard_type=substring&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time">JPEG Image Handling</a> and <a class="link-https" href="https://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;component=PNG+Image+Handling&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;status_whiteboard=&amp;status_whiteboard_type=substring&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time">PNG Image Handling</a>)</li>
+ <li>SSL-related bugs are filed on the <a class="link-https" href="https://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;component=Security%3A+Crypto&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;status_whiteboard=&amp;status_whiteboard_type=substring&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time">Crypto</a> component</li>
+</ul>
+
+<p>For information about the known bugs of a specific commercial product based on Gecko, see that product's release notes.</p>
+
+<h3 id="How_does_Gecko_format_XML_documents.3F" name="How_does_Gecko_format_XML_documents.3F">How does Gecko format XML documents?</h3>
+
+<p>Gecko supports the use of CSS and <a href="/en/XSLT" title="en/XSLT">XSLT</a> to format XML documents.</p>
+
+<p>For XML documents without associated CSS or XSLT, Gecko displays the pretty-printed source of the document.</p>
+
+<h3 id="How_does_Gecko_help_content_developers.3F" name="How_does_Gecko_help_content_developers.3F">How does Gecko help content developers?</h3>
+
+<p>Content developers are sick and tired of developing and testing every single web page multiple times in order to support the different, incompatible, proprietary DOMs of browsers from different vendors. They have been demanding that all vendors fully support the open standards listed above so that they can</p>
+
+<ol>
+ <li>have a rich, powerful formatting system and object model at their disposal, and</li>
+ <li>"write once, view anywhere."</li>
+</ol>
+
+<p>Gecko's robust support for these standards makes Gecko the platform of choice for web content and web application developers worldwide.</p>
+
+<h3 id="Are_Gecko.27s_APIs_based_on_ActiveX.3F_COM.3F_JavaBeans.3F" name="Are_Gecko.27s_APIs_based_on_ActiveX.3F_COM.3F_JavaBeans.3F">Are Gecko's APIs based on ActiveX? COM? JavaBeans?</h3>
+
+<p>Gecko is reusable on all platforms thanks to <a href="/en/XPCOM" title="en/XPCOM">XPCOM</a>, a subset of COM that works across platforms. COM, developed by Digital and later adopted by Microsoft, is the de facto standard for modular interfaces on Windows platforms.</p>
+
+<p>Additionally, on the Windows platform, Gecko's XPCOM interfaces are wrapped in an ActiveX control that VB developers can utilize (ActiveX wrappers are not available on other platforms because ActiveX is a Windows-only technology).</p>
+
+<p>A JavaBean wrapper is not currently under development, but there is nothing in Gecko's architecture that precludes such development in the future. Source code and documentation for these interfaces are available through mozilla.org.</p>
+
+<p>For future embedding API plans, see {{ interwiki('wikimo', 'Mozilla_2:Embedding_APIs', 'wikimo:Mozilla 2:Embedding APIs') }}.</p>
+
+<h3 id="Are_Gecko.27s_APIs_compatible_with_Microsoft.27s_Trident_APIs.3F" name="Are_Gecko.27s_APIs_compatible_with_Microsoft.27s_Trident_APIs.3F">Are Gecko's APIs compatible with Microsoft's Trident APIs?</h3>
+
+<p>Gecko's XPCOM interfaces are different than Microsoft's. The most important differences between the two models involve reflection of the Document Object Model (DOM) in the interfaces.</p>
+
+<p>Microsoft's Trident interfaces reflect the DOM in a proprietary API, whereas Gecko exposes the DOM according to the W3C's recommended standard. Other incompatibilities exist. Adam Lock created a partial compatibility layer that may enable developers to more easily migrate from Microsoft's engine to the Gecko engine.</p>
+
+<h3 id="Which_platforms_does_Gecko_run_on.3F" name="Which_platforms_does_Gecko_run_on.3F">Which platforms does Gecko run on?</h3>
+
+<p>Gecko runs today on Win32 (Windows XP Service Pack 2, Windows Vista, Windows 7, Windows 8, Windows 8.1), Mac OS X 10.5 and later, and Linux. OEMs and contributors from the Net participating in mozilla.org are porting Gecko to other platforms. Such porting efforts are underway for Solaris, HP/UX, AIX, Irix, OS/2, OpenVMS, BeOS, and Amiga, among others.</p>
+
+<p>Older versions of Gecko supported earlier versions of Win32 and Mac OS X.</p>
+
+<h3 id="What_are_the_components_of_Gecko.3F" name="What_are_the_components_of_Gecko.3F">What are the components of Gecko?</h3>
+
+<p>Gecko includes the following components:</p>
+
+<ul>
+ <li>Document parser (handles HTML and XML)</li>
+ <li>Layout engine with content model</li>
+ <li>Style system (handles CSS, etc.)</li>
+ <li>JavaScript runtime (<a href="/en/SpiderMonkey" title="en/SpiderMonkey">SpiderMonkey</a>)</li>
+ <li>Image library</li>
+ <li>Networking library (<a href="/en/Necko" title="en/Necko">Necko</a>)</li>
+ <li>Platform-specific graphics rendering and widget sets for Win32, X, and Mac</li>
+ <li>User preferences library</li>
+ <li>Mozilla Plug-in API (<a href="/en/Plugins" title="en/Plugins">NPAPI</a>) to support the Navigator plug-in interface</li>
+ <li>Open Java Interface (OJI), with Sun Java 1.2 JVM</li>
+ <li><a href="/en/RDF" title="en/RDF">RDF</a> back end</li>
+ <li>Font library</li>
+ <li>Security library (<a href="/en/NSS" title="en/NSS">NSS</a>)</li>
+</ul>
+
+<div class="originaldocinfo">
+<h2 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h2>
+
+<ul>
+ <li>Author(s): Angus</li>
+ <li>Other Contributors: Ekrock, Vidur, Hidday, Drunclear</li>
+ <li>Copyright Information: Portions of this content are © 1998–2006 by individual mozilla.org contributors; content available under a Creative Commons license</li>
+</ul>
+</div>
+
+<p>{{ languages( { "ja": "ja/Gecko_FAQ", "zh-cn": "cn/Gecko_FAQ" } ) }}</p>
diff --git a/files/fr/mozilla/gecko/gecko_embedding_basics/index.html b/files/fr/mozilla/gecko/gecko_embedding_basics/index.html
new file mode 100644
index 0000000000..2a116f5d88
--- /dev/null
+++ b/files/fr/mozilla/gecko/gecko_embedding_basics/index.html
@@ -0,0 +1,403 @@
+---
+title: Les bases de Gecko embarqués
+slug: Mozilla/Gecko/Gecko_Embedding_Basics
+translation_of: Mozilla/Gecko/Gecko_Embedding_Basics
+---
+<p>{{ Outdated("It was last updated a very long time ago.") }}</p>
+
+<div class="almost_half_cell" id="gt-res-content">
+<div dir="ltr" style="zoom: 1;"><span id="result_box" lang="fr"><span class="atn hps">Compte tenu de l'</span><span>importance croissante</span> <span class="hps">du Web</span> <span class="atn hps">comme source d'</span><span>information, de divertissement</span><span>,</span> <span class="alt-edited hps">et la connectivité</span> <span class="alt-edited hps">individuelle</span><span>,</span> <span class="hps">la possibilité d'accéder</span> <span class="hps">et</span> <span class="hps">d'afficher des données</span> <span class="alt-edited hps">enregistrées</span> <span class="hps">au format</span> <span class="hps">HTML</span> <span class="hps">devient de plus en</span> <span class="hps">plus</span> <span class="hps">important pour</span> <span class="hps">une grande variété</span> <span class="hps">d'applications logicielles par</span> <span class="hps">ailleurs très</span> <span class="hps">diverses</span><span>.</span> <span class="hps">Que ce soit</span> pour un simple visualiseur HTML <span class="hps">ou</span> pour<span class="hps"> créer un navigateur</span> <span class="hps">web</span> <span class="hps">à part entière</span><span>,</span> <span class="hps">la capacité</span> <span class="hps">d'analyser et d'afficher des documents</span> <span class="hps">de type HTML</span> <span class="hps">est une fonction</span> <span class="hps">de plus en plus</span> <span class="hps">importante</span> <span class="hps">dans</span> <span class="hps">de nombreuses</span> <span class="hps">situations</span><span>.</span> <span class="hps">Pour le</span> <span class="alt-edited hps">développeur d'applications</span><span>,</span> <span class="hps">le problème</span> <span class="hps">est de savoir comment</span> <span class="hps">mettre en œuvre</span> <span class="hps">cette fonctionnalité</span> <span class="hps">cruciale</span> <span class="hps">d'une manière qui</span> <span class="hps">minimise</span> <span class="hps">encore</span> <span class="hps">le temps de développement</span> qui <span class="hps">va permettre de créer</span> <span class="hps">un produit</span> <span class="hps">agile et robuste</span><span>.</span> <span class="alt-edited hps">Intégrer</span> <span class="alt-edited hps">Gecko</span><span>,</span> <span class="hps">le moteur de rendu</span> <span class="hps">au cœur</span> <span class="hps">des navigateurs</span> <span class="hps">Netscape et Mozilla</span><span>,</span> <span class="hps">est</span> <span class="hps">une solution </span></span>pour ce problème.</div>
+
+<div dir="ltr" style="zoom: 1;"> </div>
+</div>
+
+<h2 id="Why_Gecko" name="Why_Gecko">Pourquoi Gecko</h2>
+
+<p>Intégrer Gecko est un choix pertinent. Il est rapide, robuste, et respecte les standards du web. Chez Mozilla et Netscape, il a été largement diffusé et abondamment testé.</p>
+
+<p><span style="line-height: 1.5;">Il est Open-Source. Contrairement à d'autres choix d'int</span>égration<span style="line-height: 1.5;">, tout le code source de Gecko est librement disponible et personnalisable. Vous pouvez le bricoler </span><span style="line-height: 1.5;">autant que vous le voulez sans limite. Pourtant, selon la licence choisie, il est possible d'utiliser Gecko comme un composant dans un produit commercial et propriétaire.</span></p>
+
+<p>Comme Gecko est associé avec le projet Mozilla, il y a beaucoup de ressources disponibles pour aider à son intégration. <a href="http://www.mozilla.org/">Le site officiel de Mozilla</a> a un espace dédié aux <a href="http://mozilla.org/projects/embedding/">projets d'intégration.</a> <span id="result_box" lang="fr"><span class="hps">Il y a un</span> <span class="hps">groupe de discussion,</span> <span class="hps">mozilla.dev.embedding</span><span>,</span> <span class="hps">qui met l'accent sur</span> <span class="hps">l'échange d'informations</span> <span class="hps">entre les</span> <span class="hps">intégrateurs</span><span>,</span> <span class="hps">ainsi qu'à un</span> <span class="hps">certain nombre d'autres</span> <span class="hps">groupes de discussion</span> <span class="hps">connexes</span></span>. On peut accéder à un index croisé complet de la<span id="result_box" lang="fr"><a href="http://lxr.mozilla.org/seamonkey"> <span class="hps">base de code</span></a> et il est simple d'ajouter du code, de suivre ses progrès ou d'aider à corriger des bogues via la<span class="hps"> <a href="http://bugzilla.mozilla.org/">base de données</a></span><a href="http://bugzilla.mozilla.org/"> <span class="hps">de bugs</span> <span class="hps">Bugzilla</span><span>.</span></a></span></p>
+
+<p>De plus, Gecko a été architecturé dès le commencement pour être multi-plateforme. La version de mozilla.org, tourne aussi bien sur  Wintel, Mac OS 9.0, OS X et Linux et il existe des portages faits par des tiers sur nombre d'autres plateformes.</p>
+
+<p>Enfin, la license Gecko is gratuite, même si l'application finale est un produit commercial propriétaire. La plupart du temps, toute modification apportée au code originellement fourni par Mozilla (mais pas le code dans lequel il est intégré) doit revenir à la communauté, ce même code originel doit être rendu disponible aux utilisateurs de l'application (souvent via un lien sur le site web de mozilla.org), et l'application doit indiquer de manière évidente (Par exemple un logo sur la boîte ou sur la page APropos) que le produit intègre Gecko. La description exacte des licenses possibles est visible sur <a class="external" href="http://www.mozilla.org/MPL/">Mozilla &amp; Netscape Public Licenses</a>, qui est la seule source légale des information de license.</p>
+
+<h2 id="What_You_Need_to_Embed" name="What_You_Need_to_Embed">Ce dont vous avez besoin pour embarquer</h2>
+
+<p>Une fois que vous avez décidé d'intégrer, il y a trois étapes à suivre. Premierement, vous devez vous procurer le code. Ensuite, vous devez comprendre les quelques technologies spécifiques qui sont utilisées pour manipuler le code de base de Gecko. Enfin, vous devez décider quelles fonctionalités vous pouriez ajouter. Cette section vous guidera dans ces étapes.</p>
+
+<h3 id="Getting_the_Code" name="Getting_the_Code">Vous procurer le code</h3>
+
+<p>Actuellement, le meilleur moyen d'obtenir les fichiers dont vous avez besoin pour intégrer Gecko consiste à télécharcher et compiler les source de Mozilla dans leur totalité. C'est en fait un processu assez simple. Les liens vers les instructions completes sont disponibles dans la section Télécharger le Code source de Mozilla. Une seconde méthode, composant par composant, est en cours de développement, mais est encore au niveau béta. Vous pouvez trouver des informations sur ce projet dans la section Compilation. De plus, nous développons un Environnement d'exécution Gecko (Gecko Runtime Environment ou GRE), de maniere à supporter plusieurs outils batis sur des composants Mozilla tout en n'utilisant qu'un seul ensemble de bibliotheque. (Si vous avez l'intention de travailler composant par composant, soyez particulierement attentifs aux probleme de versions et de compatibilité des binaires. Pour vous aidez sur ce point, regardez la section Réutilisation des composants XPCOM.)</p>
+
+<p>Déjà, vous devz vous procurer quelques outils (en bref, un compilateur, une distribution Perl, et quelaues utilitaires génériques). Ensuite, vous devez les installer sur votre ordinateur. Apres quoi, vous devez télécharger la source. En supposant que vous allez télécharger l'ensemble de l'arborescence, il y a deux manieres de procéder: vous pouvez télécharger en FTP une archive contenant l'ensemble de l'arborescence (c'est la maniere la plus simple, et la plus sure de compiler, mais elle peut contenir une version dépourvue des modifications les plus récentes) ou vous pouvez utiliser CVS pour etre certain que vous téléchargezla version la plus récente. Une fois que vous avez l'arborescence et les outils, et que votre environement est corectement installé, il ne vous reste qu'à exécuter le makefile. Vous pouvew trouver des instructions détaillées pour chacune des plateformes supportées. </p>
+
+<p>Une fois la source compilée, rendez-vous dans le dossier mozilla/embedding/config. Vous y trouverez des fichiers de démonstration (chacun d'entre eux porte un nom commencant par "basebrowser") intégrables sur chacune des plateformes. Ce sont uniquement des exemples, peut-etre inadaptés à votre besoin particulier, mais ce sont un bon moyen de débuter. Il y a aussi des exemples de projets d'intégration pour chacune des plateforme que vous pouvez utiliser en tant que modele. Voir Intégration : Exemples de Mozilla et projets externes. </p>
+
+<h3 id="Understanding_the_Coding_Environment" name="Understanding_the_Coding_Environment">Understanding the Coding Environment</h3>
+
+<p>Mozilla was set up from the beginning to support design and development across multiple platforms and programming languages. To this end, a number of in-house programming technologies were developed, all based around an ideal of object encapsulation. Embedding Gecko necessarily implies acquiring a working knowledge of these technologies, including XPCOM, XPIDL, XPConnect, special string classes, and, optionally, XUL. The following provides a brief introduction to them. More information can be found at the mozilla.org site.</p>
+
+<h4 id="XPCOM" name="XPCOM">XPCOM</h4>
+
+<p>The most important of the Mozilla technologies is <a href="/en/XPCOM" title="en/XPCOM">XPCOM</a>, the Cross-Platform Component Object Model. XPCOM provides a framework which manages the creation, ownership, and deletion of objects and other data throughout Mozilla. If you have used MSCOM, you will recognize certain basic similarities. But there are also significant differences -- XPCOM is cross-platform and designed to run largely in a single thread -- and the two are not at this time compatible.</p>
+
+<h5 id="The_interface" name="The_interface">The interface</h5>
+
+<p>At the core of XPCOM is the concept of the interface. An interface is simply a description of a set of methods, attributes, and related constants all associated with a particular functionality: it is completely distinct from the class that implements those things. The interface serves as a kind of contract: any object that supports a particular interface guarantees that it will perform the services described in it. To keep the interface as language neutral as possible, it is written in a special language, the Interface Definition Language, or IDL. Interface files are often referred to as .idl files. In addition to specifying the functionality of the interface, these files also carry the interface's IID, its globally unique identifying number.</p>
+
+<p>Much of the communication within Gecko takes place in terms of these abstract structures (by convention, their names follow the form <code>nsISomething</code>).</p>
+
+<pre>//this
+void ProcessSample(nsISample* aSample) {
+ aSample-&gt;Poke("Hello");
+//not this
+void ProcessSample(nsSampleImpl* aSample) {
+ aSample-&gt;Poke("hello");
+</pre>
+
+<h5 id=".40status_FROZEN" name=".40status_FROZEN">@status FROZEN</h5>
+
+<p>XPCOM's level of abstraction produces great flexibility in the system. Implementations are free to change as needed. But, to work, the interfaces themselves must remain fixed. Throughout Mozilla's initial design and development period, interfaces have been somewhat fluid, but as the project has matured, more and more of the interfaces have been marked FROZEN. Any interface so marked is guaranteed not to change in the future.</p>
+
+<p>Most of the main interfaces key to the embedding effort are now frozen, but it's always a good idea to check before using any interface. An interface's status is listed in the .idl file's comments. A frozen interface is marked <code>@status FROZEN</code>. You can <a class="external" href="http://lxr.mozilla.org/seamonkey/search?string=%40status+FROZEN">search for frozen interfaces</a> by using the Mozilla cross referencing tool. Until it is frozen, an interface may change at any time. For more information on the freezing process, see the <a class="external" href="http://mozilla.org/projects/embedding/">embedding project page</a>.</p>
+
+<p>Once an interface has been frozen, it is added to the <a class="external" href="http://mozilla.org/projects/embedding/embedapiref/embedapi.html">Gecko Embedding API Reference</a>.</p>
+
+<h5 id="nsISupports" name="nsISupports">nsISupports</h5>
+
+<p>A single object can support more than one interface. In fact, essentially all objects support at least two interfaces -- a minimum of one that does something specifically useful and one, <code>nsISupports</code>, that serves a more general purpose. In a sense, <code>nsISupports</code> is the progenitor of all XPCOM interfaces. All interfaces inherit from it, most directly so. It serves two main functions: runtime type discovery and object lifetime management. It is functionally identical to IUnknown in MSCOM.</p>
+
+<p>Since an object can support multiple interfaces, it's possible to have a pointer to one interface and want to know whether that same object also supports a different interface whose functionality you might also need. The first <code>nsISupports</code> method, <code>QueryInterface()</code>, does exactly that: it asks, in effect, "I know that this object is of type A (supports interface A) but is it also of type B (supports interface B)?"</p>
+
+<p>If it is (or does), <code>QueryInterface()</code> returns to the caller a pointer bound to the newly requested interface.</p>
+
+<pre>void ProcessSample(nsISample* aSample) {
+ nsIExample *example;
+ nsresult rv;
+ rv = aSample-&gt;QueryInterface(NS_GET_IID(nsIExample),(void **)&amp;example);
+ if (NS_SUCCEEDED(rv)) {
+ example-&gt;DoSomeOperation();
+ NS_RELEASE(example); // using a macro to call Release
+ }
+}
+</pre>
+
+<p>Because XPCOM uses an indirect method, the Component Manager, to actually instantiate objects, and because multiple pointers to the same object -- often bound to different interfaces -- can exist, it can quickly become very difficult for callers to keep accurate track of all of the objects to which those pointers point. Objects could be kept around in memory longer than they need to be, causing leaks, or objects could be deleted prematurely, causing dangling pointers. The other two methods in <code>nsISupports</code>, <code>AddRef()</code> and <code>Release()</code>, are designed to deal with this issue. Every time a pointer is given out <code>AddRef()</code> must be called on the object, incrementing an internal counter. Every time a pointer is released, <code>Release()</code> must be called, which decrements that same counter. When the counter reaches zero, there are no pointers to the object remaining and the object can safely delete itself. Control of the object's lifetime stays within the object itself. See below for information on XPCOM's "smart" pointer, <a href="#nsCOMPtr">nsCOMPtr</a>, a utility which helps automate this process.</p>
+
+<h5 id="Object_creation" name="Object_creation">Object creation</h5>
+
+<p>The instantiation of objects is also an indirect process in XPCOM. Just as interfaces have a globally unique ID number (the IID), XPCOM classes are assigned their own GUIDs, the CID. In addition, they are also often given a text-based ID, called a contract ID. One or the other of these IDs is passed to a method on a persistent XPCOM component, the Component Manager, which actually creates the object. When a new library of classes (called a module in XPCOM) is first introduced into the system, it must register itself with the Component Manager, which maintains a registry that maps classes (with their IDs) to the libraries in which they reside.</p>
+
+<p>A limited number of persistent services, supplied by singleton objects, are created and controlled by a companion to the Component Manager, the Service Manager. The Component Manager itself is an example of such a persistent service.</p>
+
+<h5 id="Summing_up" name="Summing_up">Summing up</h5>
+
+<p>Functionality in XPCOM is described by abstract interfaces, and most communication among parts of the system takes place in terms of those interfaces. The underlying objects that implement the interfaces, on the other hand, are created indirectly by the Component Manager based on a cross-indexed registry that it maintains.</p>
+
+<p>One functionality shared by all interfaces is the ability to query the underlying object at runtime to see if also implements other interfaces. In theory an interface is fixed and unchangeable, but at this stage in the Mozilla codebase, only interfaces that have been declared <code>FROZEN</code> are guaranteed not to change significantly. Object lifetime management takes place inside the object itself through an internal counter that keeps track of the number of pointers to the object that have been added or released. The client's only responsibility is to increment and decrement the counter. When the internal counter reaches zero, the object deletes itself.</p>
+
+<h5 id="nsCOMPtr" name="nsCOMPtr">nsCOMPtr</h5>
+
+<p>Sometimes, however, even remembering to call <code>AddRef()</code> and <code>Release()</code> at the right times can be difficult. To make this process easier and more reliable, XPCOM has a built-in "smart" pointer, <code>nsCOMPtr</code>. This pointer takes care of calling <code>AddRef()</code> and <code>Release()</code> for you. Using <code>nsCOMPtr</code> whenever possible will make your code cleaner and more efficient. For more information on the smart pointer, see "<a class="external" href="http://www.mozilla.org/projects/xpcom/nsCOMPtr.html">The Complete nsCOMPtr User's Manual</a>".</p>
+
+<p>Mozilla actually provides a large number of built-in macros (by convention, written in all caps in the code) and utilities like <code>nsCOMPtr</code> that can make the entire process of coding with XPCOM easier. Many of these can be found in the following files: <code>nsCom.h</code>, <code>nsDebug.h</code>, <code>nsError.h</code>, <code>nsIServiceManager.h</code>, and <code>nsISupportsUtils.h</code>. Mozilla also supplies other development tools for tracking memory usage and the like. More information on these can be found at <a class="external" href="http://www.mozilla.org/performance/" rel="freelink">http://www.mozilla.org/performance/</a></p>
+
+<h5 id="For_more_information" name="For_more_information">For more information</h5>
+
+<p>More information on XPCOM in general can be found at <a href="/en/XPCOM" title="en/XPCOM">XPCOM</a>. For an overview of creating XPCOM components, see Chapter 8 of O'Reilly's <em><a class="external" href="http://books.mozdev.org/chapters/ch08.html">Creating Applications with Mozilla</a></em>. There is also a new book completely devoted to this topic, <em><a href="/en/Creating_XPCOM_Components" title="en/Creating_XPCOM_Components">Creating XPCOM Components</a></em>. A fuller explanation of some of the underlying logic to COM systems can be found in the early chapters of <em>Essential COM</em> by Don Box. While it focuses on MSCOM in particular, the book does provide an excellent background on some of the core rationales for using such an object model.</p>
+
+<h4 id="XPIDL" name="XPIDL">XPIDL</h4>
+
+<p>Interfaces are abstract classes written in XPIDL, the Cross Platform Interface Definition Language. Yet to be useful the functionality promised in those interfaces must be implemented in some regular programming language. Facilitating this is the job of the XPIDL compiler. Once an interface is defined in an .idl file, it can be processed by the XPIDL compiler.</p>
+
+<p>The compiler can be set to output a number of things, but generally the output is two-fold: a C++ .h file that includes a commented out template for a full C++ implementation of the interface and an XPT file that contains type library information which works with XPConnect to make the interface available to JavaScript. More information on the syntax of <a href="/en/XPIDL" title="en/XPIDL">XPIDL</a> (a simple C-like language) and the use of the <a href="/en/XPIDL/xpidl" title="en/XPIDL/xpidl">compiler</a> is available.</p>
+
+<h4 id="XPConnect_and_XPT_files" name="XPConnect_and_XPT_files"><a href="/en/XPConnect" title="en/XPConnect">XPConnect</a> and XPT files</h4>
+
+<p><a href="/en/XPConnect" title="en/XPConnect">XPConnect</a> is an <a href="/en/XPCOM" title="en/XPCOM">XPCOM</a> module that allows code written in <a href="/en/JavaScript" title="en/JavaScript">JavaScript</a> to access and manipulate XPCOM components written in C++ and vice versa. By means of XPConnect, components on either side of an XPCOM interface do not, in general, need to know or care about which of these languages the object on the other side is implemented in.</p>
+
+<p>When an interface is run through the XPIDL compiler, it produces an XPT or type library file. Because XPconnect uses the information in this file to implement transparent communication between C++ objects and JavaScript objects across XPCOM interfaces, it is important to make sure they are generated and included with your code even if you are developing exclusively in C++. Not only is a substantial part of the browser, in fact, implemented in JS, it is possible that in the future someone may wish to use JS-based code to interact with whatever components you create .</p>
+
+<p>As is from Mozilla, XPConnect currently facilitates interoperability between C++ and JS. Modules to extend it to allow access from other languages (including Python) are under independent development.</p>
+
+<h4 id="String_classes" name="String_classes">String classes</h4>
+
+<p>Web browsing typically involves a large amount of string manipulation. Mozilla has developed a hierarchy of C++ classes to facilitate such manipulation and to render it efficient and quick. To make communication among objects simpler and more error free, Mozilla uses interfaces, which are, in essence, abstract classes. The string hierarchy is also headed up by a set of abstract classes, <code>nsAString</code>, <code>nsASingleFragmentString</code>, and <code>nsAFlatString</code>, and for the same reasons. (These refer to double-byte strings. There is a parallel hierarchy topped with <code>nsACString</code>, etc., that refers to single-byte strings.) <code>nsAString</code> guarantees only a string of characters. <code>nsASingleFragmentString</code> guarantees that the characters will be stored in a single buffer. <code>nsAFlatString</code> guarantees that the characters will be stored in a single null-terminated buffer. While there are underlying concrete classes, in general it is best to use the most abstract type possible in a given situation. For example, concantenation can be done virtually, through the use of pointers, resulting in an nsAString that can be used like any other string. This saves the allocating and copying that would otherwise have to be done. For more information, see "<a href="/En/Mozilla_internal_string_guide" title="En/Mozilla_internal_string_guide">XPCOM string guide</a>".</p>
+
+<h4 id="XUL.2FXBL" name="XUL.2FXBL">XUL/XBL</h4>
+
+<p>Use of this final Mozilla technology is optional, depending on how you decide to create the user interface for your application. <a href="/en/XUL" title="en/XUL">XUL</a> is Mozilla's highly flexible XML UI Language. It provides a number of largely platform independent widgets from which to construct a UI. Netscape and Mozilla both use XUL for their interfaces, but not all embedders choose to use it. XBL or the eXtensible Binding Language allows you to attach behaviors to XUL's XML elements. More information on XUL can be found at <a class="external" href="http://www.mozilla.org/xpfe/xulref/">XUL Programmer's Reference</a> and on <a href="/en/XBL" title="en/XBL">XBL</a> at <a href="/en/XBL/XBL_1.0_Reference" title="en/XBL/XBL_1.0_Reference">XBL:XBL_1.0_Reference</a>. There is also a wealth of good information on XUL at <a class="external" href="http://www.xulplanet.com/">XULPlanet</a>.</p>
+
+<h3 id="Choosing_Additional_Functionalities" name="Choosing_Additional_Functionalities">Choosing Additional Functionalities</h3>
+
+<p>As of this writing (8/19/02), Gecko is a partially modularized rendering engine. Some functionalities beyond basic browsing are always embedded with Gecko, and, as a result of certain architectural decisions, always will be; some are at present always embedded with Gecko, but may, at some point in the future, be separable; and some are now available purely as options. The following table describes the present status of these additional functionalities:</p>
+
+<table>
+ <tbody>
+ <tr>
+ <th>Functions</th>
+ <th>Status Now</th>
+ <th>Status in Future</th>
+ </tr>
+ <tr>
+ <td>FTP support</td>
+ <td>Optional</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>HTTPS support</td>
+ <td>Optional</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>International character support</td>
+ <td>Optional</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>XUL support</td>
+ <td>Required</td>
+ <td>Probably optional</td>
+ </tr>
+ <tr>
+ <td>Network support</td>
+ <td>Required</td>
+ <td>Maybe optional</td>
+ </tr>
+ <tr>
+ <td>JavaScript support</td>
+ <td>Required</td>
+ <td>Maybe optional</td>
+ </tr>
+ <tr>
+ <td>CSS support</td>
+ <td>Required</td>
+ <td>Always required</td>
+ </tr>
+ <tr>
+ <td>DOM support</td>
+ <td>Required</td>
+ <td>Probably always</td>
+ </tr>
+ <tr>
+ <td>XML support</td>
+ <td>Required</td>
+ <td>Probably always</td>
+ </tr>
+ </tbody>
+</table>
+
+<p>At this time embedding Mozilla's editor along with the rendering engine Gecko is an uncertain proposion, although the situation continues to improve. For more information on the status of the embeddable editor, see <a class="external" href="http://www.mozilla.org/editor/Editor_Embedding_Guide.html" rel="freelink">http://www.mozilla.org/editor/Editor...ing_Guide.html</a>.</p>
+
+<h2 id="What_Gecko_Provides" name="What_Gecko_Provides">What Gecko Provides</h2>
+
+<p>The following is a description of some of the interfaces most commonly used in embedding Gecko. It is by no means an exhaustive list of the available interfaces. The interfaces in this section are on classes provided by Mozilla. There is also a set of interfaces for which Gecko expects the embedder to provide the implementation. A sample of those are covered in the next section.</p>
+
+<h3 id="Initialization_and_Teardown" name="Initialization_and_Teardown">Initialization and Teardown</h3>
+
+<p>There are two C++ only functions which serve to initalize and terminate Gecko. The initialization function (<a class="external" href="http://mozilla.org/projects/embedding/embedapiref/embedapi2.html#1099700">NS_InitEmbedding</a>) must be called before attempting to use Gecko. It ensures XPCOM is started, creates the component registry if necessary, and starts global services. The shutdown function (<a class="external" href="http://mozilla.org/projects/embedding/embedapiref/embedapi2.html#1101115">NS_TermEmbedding</a>) terminates the Gecko embedding layer, ensuring that global services are unloaded, files are closed and XPCOM is shut down.</p>
+
+<h3 id="nsIWebBrowser" name="nsIWebBrowser"><a class="external" href="http://mozilla.org/projects/embedding/embedapiref/embedapi4.html">nsIWebBrowser</a></h3>
+
+<p>Use of this interface during initialization allows embedders to associate a new <code>nsWebBrowser</code> instance (an object representing the "client-area" of a typical browser window) with the embedder's chrome and to register any listeners. The interface may also be used at runtime to obtain the content DOM window and from that the rest of the DOM.</p>
+
+<p>The <a class="external" href="http://xulplanet.com/references/xpcomref/ifaces/nsIWebBrowser.html">XULPlanet <code>nsWebBrowser</code> reference</a> also has a lot of useful information on this class.</p>
+
+<h3 id="nsIWebBrowserSetup" name="nsIWebBrowserSetup"><a class="external" href="http://www.mozilla.org/projects/embedding/embedapiref/embedapi10.html">nsIWebBrowserSetup</a></h3>
+
+<p>This interface is used to set basic properties (like whether image loading will be allowed) before the browser window is open.</p>
+
+<h3 id="nsIWebNavigation" name="nsIWebNavigation"><a class="external" href="http://www.xulplanet.com/references/xpcomref/ifaces/nsIWebNavigation.html">nsIWebNavigation</a></h3>
+
+<p>The <code>nsIWebNavigation</code> interface is used to load URIs into the web browser instance and provide access to session history capabilities - such as back and forward. As of June 6, 2006, this interface is not yet frozen.</p>
+
+<h3 id="nsIWebBrowserPersist" name="nsIWebBrowserPersist"><a class="external" href="http://www.xulplanet.com/references/xpcomref/ifaces/nsIWebBrowserPersist.html">nsIWebBrowserPersist</a></h3>
+
+<p>The <code>nsIWebBrowserPersist</code> interface allows a URI to be saved to file. As of June 6, 2006, this interface is not yet frozen.</p>
+
+<h3 id="nsIBaseWindow" name="nsIBaseWindow"><a class="external" href="http://www.xulplanet.com/references/xpcomref/ifaces/nsIBaseWindow.html">nsIBaseWindow</a></h3>
+
+<p>The <code>nsIBaseWindow</code> interface describes a generic window and basic operations (size, position, window title retrieval, etc.) that can be performed on it. As of June 6, 2006, this interface is not yet frozen.</p>
+
+<h3 id="nsISHistory" name="nsISHistory"><a class="external" href="http://mozilla.org/projects/embedding/embedapiref/embedapi58.html">nsISHistory</a></h3>
+
+<p>The <code>nsISHistory</code> interface provides access to session history information and allows that information to be purged.</p>
+
+<h3 id="nsIWebBrowserFind" name="nsIWebBrowserFind"><a class="external" href="http://mozilla.org/projects/embedding/embedapiref/embedapi14.html">nsIWebBrowserFind</a></h3>
+
+<p>The <code>nsIWebBrowserFind</code> interface controls the setup and execution of text searches in the browser window.</p>
+
+<h2 id="What_You_Provide" name="What_You_Provide">What You Provide</h2>
+
+<p>The following is a description of some of the more common embedder-provided interfaces used in embedding Gecko. It is by no means an exhaustive list of the available interfaces.</p>
+
+<h3 id="nsIWebBrowserChrome" name="nsIWebBrowserChrome"><a class="external" href="http://mozilla.org/projects/embedding/embedapiref/embedapi6.html">nsIWebBrowserChrome</a></h3>
+
+<p>The <code>nsIWebBrowserChrome</code> interface corresponds to the top-level, outermost window containing an embedded Gecko web browser. You associate it with the WebBrowser through the <code>nsIWebBrowser</code> interface. It provides control over window setup and whether or not the window is modal. It must be implemented.</p>
+
+<h3 id="nsIEmbeddingSiteWindow" name="nsIEmbeddingSiteWindow"><a class="external" href="http://www.mozilla.org/projects/embedding/embedapiref/embedapi12.html">nsIEmbeddingSiteWindow</a></h3>
+
+<p>The <code>nsIEmbeddingSiteWindow</code> interface provides Gecko with the means to call up to the host to resize the window, hide or show it and set/get its title. It must be implemented.</p>
+
+<h3 id="nsIWebProgressListener" name="nsIWebProgressListener"><a href="/en/nsIWebProgressListener" title="en/nsIWebProgressListener">nsIWebProgressListener</a></h3>
+
+<p>The <code>nsIWebProgressListener</code> interface provides information on the progress of loading documents. It is added to the WebBrowser through the <code>nsIWebBrowser</code> interface. It must be implemented. As of this writing (8/19/02), it is not frozen.</p>
+
+<h3 id="nsISHistoryListener" name="nsISHistoryListener"><a class="external" href="http://mozilla.org/projects/embedding/embedapiref/embedapi59.html">nsISHistoryListener</a></h3>
+
+<p>The <code>nsISHistoryListener</code> interface is implemented by embedders who wish to receive notifications about activities in session history. A history listener is notified when pages are added, removed and loaded from session history. It is associated with Gecko through the <code>nsIWebBrowser</code> interface. Implementation is optional.</p>
+
+<h3 id="nsIContextMenuListener" name="nsIContextMenuListener"><a class="external" href="http://mozilla.org/projects/embedding/embedapiref/embedapi5.html">nsIContextMenuListener</a></h3>
+
+<p>The <code>nsIContextMenuListener</code> interface is implemented by embedders who wish to receive notifications for context menu events, i.e. generated by a user right-mouse clicking on a link. It should be implemented on the web browser chrome object associated with the window for which notifications are required. When a context menu event occurs, the browser will call this interface if present. Implementation is optional.</p>
+
+<h3 id="nsIPromptService" name="nsIPromptService"><a href="/en/XPCOM_Interface_Reference/nsIPromptService" title="en/nsIPromptService">nsIPromptService</a></h3>
+
+<p>The <code>nsIPromptServices</code> interface allows the embedder to override Mozilla's standard prompts: alerts, dialog boxes, and check boxes and so forth. The class that implements these embedder specific prompts must be registered with the Component Manager using the same CID and contract ID that the Mozilla standard prompt service normally uses. Implementation is optional. As of this writing (8/19/02), this interface is not frozen.</p>
+
+<h2 id="Common_Embedding_Tasks" name="Common_Embedding_Tasks">Common Embedding Tasks</h2>
+
+<p>The following is a series of code snippets (taken from MFCEmbed, the Windows based embedding Gecko sample) which demonstrate very briefly implementation associated with common embedding tasks. MFCEmbed code was deleted from the current repository as the code quality was not very high and it did not use good embedding APIs. If you need a MFC embedding example, maybe take a look at the K-Meleon source. There are also Linux- and Mac OS-based examples, see <a class="external" href="http://mxr.mozilla.org/mozilla-central/source/embedding/tests/" title="http://mxr.mozilla.org/mozilla-central/source/embedding/tests/">http://mxr.mozilla.org/mozilla-central/source/embedding/tests/</a> for a list of examples.</p>
+
+<h3 id="Gecko_setup" name="Gecko_setup">Gecko setup</h3>
+
+<p>The Gecko embedding layer must be initialized before you can use Gecko. This ensures XPCOM is started, creates the component registry if necessary, and starts global services. There is an equivalent shutdown procedure.</p>
+
+<p>Note that the embedding layer is started up by passing it two parameters. The first indicates where the executable is stored on the file system (<code>nsnull</code> indicates the working directory). The second indicates the file location object "provider" that specifies to Gecko where to find profiles, the component registry preferences, and so on.</p>
+
+<pre>nsresult rv;
+rv = NS_InitEmbedding(nsnull, provider);
+if(NS_FAILED(rv))
+{
+ASSERT(FALSE);
+return FALSE;
+}
+</pre>
+
+<h3 id="Creating_a_browser_instance" name="Creating_a_browser_instance">Creating a browser instance</h3>
+
+<p>The embedder-provided BrowserView object calls its method <code>CreateBrowser()</code>. Each browser object (a webbrowser) represents a single browser window. Notice the utility directive <code>do_CreateInstance()</code> and the use of macros.</p>
+
+<pre>//Create an instance of the Mozilla embeddable browser
+
+HRESULT CBrowserView::CreateBrowser()
+{
+// Create a web shell
+nsresult rv;
+mWebBrowser = do_CreateInstance(NS_WEBBROWSER_CONTRACTID, &amp;rv);
+if(NS_FAILED(rv))
+return rv;
+</pre>
+
+<p>Once the <code>nsWebBrowser</code> object is created the application uses <code>do_QueryInterface()</code> to load a pointer to the <a class="external" href="http://www.xulplanet.com/references/xpcomref/ifaces/nsIWebNavigation.html">nsIWebNavigation</a> interface into the <code>mWebNav</code> member variable. This will be used later for web page navigation.</p>
+
+<pre>rv = NS_OK;
+mWebNav = do_QueryInterface(mWebBrowser, &amp;rv);
+if(NS_FAILED(rv))
+return rv;
+</pre>
+
+<p>Next the embedder-provided <code>CBrowserImpl</code> object is created. Gecko requires that some interfaces be implemented by the embedder so that Gecko can communicate with the embedding application. See the <a href="#What_You_Provide">What You Provide Section</a>. In the sample, <code>CBrowserImpl</code> is the object that implements those required interfaces. It will be passed into the <code>SetContainerWindow()</code> call below.</p>
+
+<pre>mpBrowserImpl = new CBrowserImpl();
+if(mpBrowserImpl == nsnull)
+return NS_ERROR_OUT_OF_MEMORY;
+</pre>
+
+<p>The <code>mWebBrowser</code> interface pointer is then passed to the <code>CBrowserImpl</code> object via its <code>Init()</code> method. A second pointer to the platform specific <code>BrowserFrameGlue</code> interface is also passed in and saved. The <code>BrowserFrameGlue</code> pointer allows <code>CBrowserImpl</code> to call methods to update status bars, progress bars, and so forth.</p>
+
+<pre>mpBrowserImpl-&gt;Init(mpBrowserFrameGlue, mWebBrowser);
+mpBrowserImpl-&gt;AddRef();
+</pre>
+
+<p>Next the embedder-supplied chrome object is associated with the webbrowser. Note the use of an <code>nsCOMPtr</code>.</p>
+
+<pre>mWebBrowser-&gt;SetContainerWindow
+ (NS_STATIC_CAST(nsIWebBrowserChrome*, mpBrowserImpl));
+nsCOMPtr&lt;nsIWebBrowserSetup&gt;setup(do_QueryInterface(mWebBrowser));
+if (setup)
+ setup-&gt;SetProperty(nsIWebBrowserSetup::SETUP_IS_CHROME_WRAPPER,PR_TRUE);
+</pre>
+
+<p>Then, the real webbrowser window is created.</p>
+
+<pre>rv = NS_OK;
+mBaseWindow = do_QueryInterface(mWebBrowser, &amp;rv);
+if(NS_FAILED(rv))
+return rv;
+</pre>
+
+<h3 id="Binding_a_window" name="Binding_a_window">Binding a window</h3>
+
+<p>Basic location information is passed in.</p>
+
+<pre>RECT rcLocation;
+GetClientRect(&amp;rcLocation);
+if(IsRectEmpty(&amp;rcLocation))
+{
+ rcLocation.bottom++;
+ rcLocation.top++;
+}
+rv = mBaseWindow-&gt;InitWindow(nsNativeWidget(m_hWnd),
+ nsnull,0, 0, rcLocation.right - rcLocation.left,
+ rcLocation.bottom - rcLocation.top);
+rv = mBaseWindow-&gt;Create();
+</pre>
+
+<p>Note the <code>m_hWnd</code> passed into the call above to <code>InitWindow()</code>. (<code>CBrowserView</code> inherits the <code>m_hWnd</code> from <code>CWnd</code>). This <code>m_hWnd</code> will be used as the parent window by the embeddable browser.</p>
+
+<h3 id="Adding_a_listener" name="Adding_a_listener">Adding a listener</h3>
+
+<p>The <code>BrowserImpl</code> object is added as an <a href="/en/nsIWebProgressListener" title="en/nsIWebProgressListener">nsIWebProgressListener</a>. It will now receive progress messages. These callbacks will be used to update the status/progress bars.</p>
+
+<pre>nsWeakPtr weakling
+ (dont_AddRef(NS_GetWeakReference(NS_STATIC_CAST(nsIWebProgressListener*,
+ mpBrowserImpl))));
+void mWebBrowser-&gt;AddWebBrowserListener(weakling, NS_GET_IID(nsIWebProgressListener));
+</pre>
+
+<p>Finally the webbrowser window is shown.</p>
+
+<pre>mBaseWindow-&gt;SetVisibility(PR_TRUE);
+</pre>
+
+<h3 id="Using_session_history_to_navigate" name="Using_session_history_to_navigate">Using session history to navigate</h3>
+
+<p>The pointer to <a class="external" href="http://www.xulplanet.com/references/xpcomref/ifaces/nsIWebNavigation.html">nsIWebNavigation</a> saved above is used to move back through session history.</p>
+
+<pre>void CBrowserView::OnNavBack()
+{
+if(mWebNav)
+ mWebNav-&gt;GoBack();
+}
+</pre>
+
+<h2 id="Appendix:_Data_Flow_Inside_Gecko" name="Appendix:_Data_Flow_Inside_Gecko">Appendix: Data Flow Inside Gecko</h2>
+
+<p>While it isn't strictly necessary for embedders to understand how Gecko does what it does, a brief overview of the main structures involved as Gecko puts bits on a display may be helpful.</p>
+
+<p><img alt="Image:EmbeddingBasicsa.gif" class="internal" src="/@api/deki/files/189/=EmbeddingBasicsa.gif"></p>
+
+<p>HTML data comes into Gecko either from the network or a local source. The first thing that happens is that it is parsed, using Gecko's own HTML parser. Then the Content Model arranges this parsed data into a large tree. The tree is also known as the "Document" and its structure is based on the W3C Document Object Model. Any use of DOM APIs manipulates the data in the Content Model.</p>
+
+<p>Next the data is put into frames using CSS and the Frame Constructor. A frame in this sense (which is not the same thing as an HTML frame) is basically an abstract box within which a DOM element will be displayed. This process produces a Frame Tree, which, like the Content Model, is a tree of data, but this time focused not on the logical relationship among the elements but on the underlying calculations needed to display the data. In the beginning a frame has no size. Using CSS rules specifying how the elements of the DOM should look when they are displayed, including information like font type or image size, the eventual size of each frame is calculated. Because the same data may need to be displayed in different ways -- to a monitor and to a printer, for example -- a particular Content Model may have more than one Frame Tree associated with it. In such a case, each individual Frame Tree would belong to a different "presentation" mode.</p>
+
+<p>Calculations continue as new information flows into the system using a process called <strong>reflow</strong>. As information in the Frame Tree changes, the section of the Frame Tree involved is marked "dirty" by the Frame Constructor. Reflow repeatedly steps through the tree, processing every "dirty" item it encounters until all the items it encounters are "clean". Every item in the Frame Tree has a pointer back to its corresponding item in the Content Model. A change in the Content Model, say through using the DOM APIs to change an element from hidden to visible, produces an equivalent change in the Frame Tree. It's important to note that all of these operations are purely data manipulations. Painting to the display itself is not yet involved at this point.</p>
+
+<p>The next stage is the View Manager. With a few small exceptions that have to do with prompting the Frame Constructor to load graphics, the View Manager is the first place in the process that accesses the native OS. Delaying OS access until this point both helps Gecko to run more quickly and makes cross-platform issues easier to deal with. The View Manger is the place where Gecko figures out where on the display the data will need to be drawn. It then tells the system that that area is "invalid" and needs to be repainted. The actual painting is managed by the gfx submodule, while other low-level system operations are run through the widget submodule, which handles things like platform specific event (mouse clicks and so forth) processing loops and accessing system defaults (colors, fonts, etc.) Both gfx and widget are system specific.</p>
+
+<p>If you want to take a look at the code underlying these structures, the code for the Content Model can be found in <code>/mozilla/content</code>, for the Frame Constructor, CSS, and Reflow in <code>/mozilla/layout</code>, for the View Manager in <code>/mozilla/view</code>, and for the DOM APIs in <code>/mozilla/dom</code>.</p>
+
+<div class="originaldocinfo">
+<h2 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h2>
+
+<ul>
+ <li>Author(s): <a class="external" href="/mailto:jeev@jeev13@gmail.com" title="mailto:jeev@jeev13@gmail.com">Ellen Evans</a></li>
+ <li>Last Updated Date: August 19, 2002</li>
+ <li>Copyright Information: Copyright (C) <u>Creative Commons Attribution</u></li>
+</ul>
+</div>
+
+<p>{{ languages( { "ja": "ja/Gecko_Embedding_Basics" } ) }}</p>
diff --git a/files/fr/mozilla/gecko/index.html b/files/fr/mozilla/gecko/index.html
new file mode 100644
index 0000000000..fcd4a8e202
--- /dev/null
+++ b/files/fr/mozilla/gecko/index.html
@@ -0,0 +1,118 @@
+---
+title: Gecko
+slug: Mozilla/Gecko
+translation_of: Mozilla/Gecko
+---
+<p><img alt="" class="internal" src="/@api/deki/files/1410/=Netscape-gecko-logo.jpg" style="float: right;"> <strong>Gecko</strong> est le nom du moteur de rendu développé par la fondation Mozilla. Il s'appelait à l'origine NGLayout.</p>
+
+<p>La fonction de Gecko est de lire le contenu Web tel que <a href="/fr/HTML" title="fr/HTML">HTML</a>, <a href="/fr/CSS" title="fr/CSS">CSS</a>, <a href="/fr/XUL" title="fr/XUL">XUL</a> et <a href="/fr/JavaScript" title="fr/JavaScript">JavaScript</a>, puis de le représenter sur l'écran de l'utilisateur ou à l'impression. Dans les applications basées sur XUL, Gecko est également utilisé pour afficher l'interface utilisateur de l'application.</p>
+
+<p>Gecko est utilisé dans de nombreuses applications dont quelques navigateurs comme Firefox, la Suite Mozilla, Camino, etc. (Pour obtenir la liste complète, référez-vous à cet <a class="external" href="http://fr.wikipedia.org/wiki/Gecko_%28moteur_de_rendu%29#Navigateurs_web">article de Wikipedia sur Gecko</a>). Les produits utilisant la même version de Gecko ont un support identique des standards.</p>
+
+<p><small>Le nom et le logo Gecko sont des marques de Netscape Communications Corporation, utilisés sous licence.</small></p>
+
+<h3 id="Les_versions_de_Gecko" name="Les_versions_de_Gecko">Les versions de Gecko</h3>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th>Version de Gecko</th>
+ <th>Applications basées sur cette version</th>
+ </tr>
+ <tr>
+ <td>Gecko 17.0 (en cours de développement)</td>
+ <td><a class="internal" href="/fr/docs/Firefox_17_pour_les_développeurs" title="Firefox 17 pour les développeurs">Firefox 17</a>, SeaMonkey 2.14, Thunderbird 17</td>
+ </tr>
+ <tr>
+ <td>Gecko 16.0 (en cours de développement)</td>
+ <td><a class="internal" href="/fr/docs/Firefox_16_pour_les_développeurs" title="Firefox 16 pour les développeurs">Firefox 16</a>, SeaMonkey 2.13, Thunderbird 16</td>
+ </tr>
+ <tr>
+ <td>Gecko 15.0 (en cours de développement)</td>
+ <td><a class="internal" href="/fr/docs/Firefox_15_pour_les_développeurs" title="Firefox 15 pour les développeurs">Firefox 15</a>, <a class="link-https" href="https://wiki.mozilla.org/SeaMonkey/Features/2.12" title="Changements dans SeaMonkey 2.12">SeaMonkey 2.12</a>, <a class="link-https" href="https://wiki.mozilla.org/Thunderbird/Support/TB15UserChanges" title="Changements dans Thunderbird 15">Thunderbird 15</a></td>
+ </tr>
+ <tr>
+ <td>Gecko 14.0</td>
+ <td><a class="internal" href="/fr/docs/Firefox_14_pour_les_développeurs" title="Firefox 14 pour les développeurs">Firefox 14</a>, <a class="link-https" href="https://wiki.mozilla.org/SeaMonkey/Features/2.11" title="Changements dans SeaMonkey 2.11">SeaMonkey 2.11</a>, <a class="link-https" href="https://wiki.mozilla.org/Thunderbird/Support/TB14UserChanges" title="Changements dans Thunderbird 14">Thunderbird 14</a></td>
+ </tr>
+ <tr>
+ <td>Gecko 13.0</td>
+ <td><a class="internal" href="/fr/docs/Firefox_13_pour_les_développeurs" title="Firefox 13 pour les développeurs">Firefox 13</a>, <a class="link-https" href="https://wiki.mozilla.org/SeaMonkey/Features/2.10" title="Changements dans SeaMonkey 2.10">SeaMonkey 2.10</a>, <a class="link-https" href="https://wiki.mozilla.org/Thunderbird/Support/TB13UserChanges" title="Changements dans Thunderbird 13">Thunderbird 13</a></td>
+ </tr>
+ <tr>
+ <td>Gecko 12.0</td>
+ <td><a class="internal" href="/fr/docs/Firefox_12_pour_les_développeurs" title="Firefox 12 pour les développeurs">Firefox 12</a>, <a class="link-https" href="https://wiki.mozilla.org/SeaMonkey/Features/2.9" title="Changements dans SeaMonkey 2.9">SeaMonkey 2.9</a>, <a class="link-https" href="https://wiki.mozilla.org/Thunderbird/Support/TB12UserChanges" title="Changements dans Thunderbird 12">Thunderbird 12</a></td>
+ </tr>
+ <tr>
+ <td>Gecko 11.0</td>
+ <td><a class="internal" href="/fr/docs/Firefox_11_pour_les_développeurs" title="Firefox 11 pour les développeurs">Firefox 11</a>, <a class="link-https" href="https://wiki.mozilla.org/SeaMonkey/Features/2.8" title="Changements dans SeaMonkey 2.8">SeaMonkey 2.8</a>, <a class="link-https" href="https://wiki.mozilla.org/Thunderbird/Support/TB11UserChanges" title="Changements dans Thunderbird 11">Thunderbird 11</a></td>
+ </tr>
+ <tr>
+ <td>Gecko 10.0</td>
+ <td><a class="internal" href="/fr/docs/Firefox_10_pour_les_développeurs" title="Firefox 10 pour les développeurs">Firefox 10</a>, <a class="link-https" href="https://wiki.mozilla.org/SeaMonkey/Features/2.7" title="Changements dans SeaMonkey 2.7">SeaMonkey 2.7</a>, <a class="link-https" href="https://wiki.mozilla.org/Thunderbird/Support/TB10UserChanges" title="Changements dans Thunderbird 10">Thunderbird 10</a></td>
+ </tr>
+ <tr>
+ <td>Gecko 9.0</td>
+ <td><a class="internal" href="/fr/docs/Firefox_9_pour_les_développeurs" title="Firefox 9 pour les développeurs">Firefox 9</a>, <a class="link-https" href="https://wiki.mozilla.org/SeaMonkey/Features/2.6" title="Changements dans SeaMonkey 2.6">SeaMonkey 2.6</a>, <a class="link-https" href="https://wiki.mozilla.org/Thunderbird/Support/TB9UserChanges" title="Changements dans Thunderbird 9">Thunderbird 9</a></td>
+ </tr>
+ <tr>
+ <td>Gecko 8.0</td>
+ <td><a class="internal" href="/fr/docs/Firefox_8_pour_les_développeurs" title="Firefox 8 pour les développeurs">Firefox 8</a>, <a class="link-https" href="https://wiki.mozilla.org/SeaMonkey/Features/2.5" title="Changements dans SeaMonkey 2.5">SeaMonkey 2.5</a>, <a class="link-https" href="https://wiki.mozilla.org/Thunderbird/Support/TB8UserChanges" title="Changements dans Thunderbird 8">Thunderbird 8</a></td>
+ </tr>
+ <tr>
+ <td>Gecko 7.0</td>
+ <td><a class="internal" href="/fr/docs/Firefox_7_pour_les_développeurs" title="Firefox 7 pour les développeurs">Firefox 7</a>, <a class="link-https" href="https://wiki.mozilla.org/SeaMonkey/Features/2.4" title="Changements dans SeaMonkey 2.4">SeaMonkey 2.4</a>, <a class="link-https" href="https://wiki.mozilla.org/Thunderbird/Support/TB7UserChanges" title="Changements dans Thunderbird 7">Thunderbird 7</a></td>
+ </tr>
+ <tr>
+ <td>Gecko 6.0</td>
+ <td><a class="internal" href="/fr/docs/Firefox_6_pour_les_développeurs" title="Firefox 6 pour les développeurs">Firefox 6</a>, <a class="link-https" href="https://wiki.mozilla.org/SeaMonkey/Features/2.3" title="Changements dans SeaMonkey 2.3">SeaMonkey 2.3</a>, <a class="link-https" href="https://wiki.mozilla.org/Thunderbird/Support/TB6UserChanges" title="Changements dans Thunderbird 6">Thunderbird 6</a></td>
+ </tr>
+ <tr>
+ <td>Gecko 5.0</td>
+ <td><a class="internal" href="/fr/docs/Firefox_5_pour_les_développeurs" title="Firefox 5 pour les développeurs">Firefox 5</a>, <a class="link-https" href="https://wiki.mozilla.org/SeaMonkey/Features/2.2" title="Changements dans SeaMonkey 2.2">SeaMonkey 2.2</a>, <a class="external" href="http://kb.mozillazine.org/Thunderbird_5.0_-_New_Features_and_Changes" title="Changements dans Thunderbird 5">Thunderbird 5</a></td>
+ </tr>
+ <tr>
+ <td>Gecko 2.0</td>
+ <td><a class="internal" href="/fr/docs/Firefox_4_pour_les_développeurs" title="Firefox 4 pour les développeurs">Firefox 4</a>, <a class="link-https" href="https://wiki.mozilla.org/SeaMonkey/Features/2.1" title="Changements dans SeaMonkey 2.1">SeaMonkey 2.1</a></td>
+ </tr>
+ <tr>
+ <td>Gecko 1.9.2</td>
+ <td><a class="internal" href="/fr/docs/Firefox_3.6_pour_les_développeurs" title="Firefox 3.6 pour les développeurs">Firefox 3.6</a>, <a class="external" href="http://kb.mozillazine.org/Thunderbird_3.1_-_New_Features_and_Changes" title="Changements dans Thunderbird 3.1">Thunderbird 3.1</a></td>
+ </tr>
+ <tr>
+ <td>Gecko 1.9.1</td>
+ <td><a class="internal" href="/Fr/docs/Firefox_3.5_pour_les_développeurs" title="Firefox 3.5 pour les développeurs">Firefox 3.5</a>, <a class="link-https" href="https://wiki.mozilla.org/SeaMonkey:New_for_2.0" title="Changements dans SeaMonkey 2.0">SeaMonkey 2.0</a>, <a class="external" href="http://kb.mozillazine.org/Thunderbird_3.0_-_New_Features_and_Changes" title="Changements dans Thunderbird 3.0">Thunderbird 3.0</a></td>
+ </tr>
+ <tr>
+ <td>Gecko 1.9.0</td>
+ <td><a class="internal" href="/fr/docs/Firefox_3_pour_les_développeurs" title="Firefox_3_pour_les_développeurs">Firefox 3</a></td>
+ </tr>
+ <tr>
+ <td>Gecko 1.8.1</td>
+ <td><a class="internal" href="/fr/docs/Firefox_2_pour_les_développeurs" title="Firefox_2_pour_les_développeurs">Firefox 2</a>, SeaMonkey 1.1, Thunderbird 2.0</td>
+ </tr>
+ <tr>
+ <td>Gecko 1.8.0</td>
+ <td><a class="internal" href="/fr/docs/Firefox_1.5_pour_les_développeurs" title="Firefox_1.5_pour_les_développeurs">Firefox 1.5</a>, SeaMonkey 1.0, Thunderbird 1.5</td>
+ </tr>
+ <tr>
+ <td>Gecko 1.7</td>
+ <td>Firefox 1.0, Mozilla Suite 1.7, Nvu 1.0, Thunderbird 1.0</td>
+ </tr>
+ <tr>
+ <td colspan="2"><strong>Les versions plus anciennes de Gecko correspondent aux versions de la Suite Mozilla</strong></td>
+ </tr>
+ </tbody>
+</table>
+
+<hr>
+<h3 id="Ressources" name="Ressources">Ressources</h3>
+
+<ul>
+ <li><a class="external" href="http://www.mozilla.org/newlayout/">Page du projet Gecko</a></li>
+ <li><a href="/fr/Manuel_de_compatibilité_Gecko" title="fr/Manuel_de_compatibilité_Gecko">Manuel de compatibilité Gecko</a></li>
+ <li><a href="/fr/Les_chaînes_UserAgent_de_Gecko" title="fr/Les_chaînes_UserAgent_de_Gecko">Les chaînes UserAgent de Gecko</a></li>
+ <li><a href="/fr/Mozilla_embarqué" title="fr/Mozilla_embarqué">Intégration de Gecko dans d'autres programmes</a></li>
+</ul>
+
+<p>{{ languages( { "de": "de/Gecko", "en": "en/Gecko", "es": "es/Gecko", "it": "it/Gecko", "ja": "ja/Gecko", "ko": "ko/Gecko", "pl": "pl/Gecko", "pt": "pt/Gecko", "zh-cn": "cn/Gecko" } ) }}</p>
diff --git a/files/fr/mozilla/gecko/mozilla_embarqué/api_overview/index.html b/files/fr/mozilla/gecko/mozilla_embarqué/api_overview/index.html
new file mode 100644
index 0000000000..bf0dbc85cf
--- /dev/null
+++ b/files/fr/mozilla/gecko/mozilla_embarqué/api_overview/index.html
@@ -0,0 +1,422 @@
+---
+title: Vue d'ensemble des APIS embarquées de Mozilla
+slug: Mozilla/Gecko/Mozilla_embarqué/API_overview
+translation_of: Mozilla/Gecko/Embedding_Mozilla/API_overview
+---
+<h2 id="Introduction" name="Introduction">Introduction</h2>
+<p>The Mozilla Public API consists of a collection of services and components which are accessed via XPCOM interfaces. Mozilla's XPCOM layer consists of a component model (called XPCOM) and the infrastructure necessary to support dynamic registration, instantiation and manipulation of XPCOM components.</p>
+<p>At the heart of XPCOM's implementation is the Service Manager and the Component Manager. Together, these two services provide a centralized point for gaining access to all of the public Mozilla interfaces.</p>
+<p>The Service Manager exposes all of the available XPCOM services - each service represents a global object which provides some piece of functionality. The Component Manager allows new instances of registered XPCOM components to be instantiated.</p>
+<p><img alt="Image:public-apis-image2.gif" class="internal" src="/@api/deki/files/819/=Public-apis-image2.gif"></p>
+<p>The embedding layer consists of several components built on top of XPCOM and its services. Much of the Gecko functionality is exposed through a component called the nsWebBrowser. Embedding applications can leverage this component to easily access many of Gecko's features. Each WebBrowser instance represents the "client-area" of a typical browser window. The WebBrowser exposes a set of interfaces which allow the embedding application to control activity and respond to changes within this client area. Using these interfaces an embedding application can build up its own user interface around a WebBrowser instance.</p>
+<p><img alt="Image:public-apis-image1.gif" class="internal" src="/@api/deki/files/818/=Public-apis-image1.gif"></p>
+<h2 id="Public_Classes" name="Public_Classes">Public Classes</h2>
+<p>The following utility classes are available from the XPCOM DLL. They provide some basic functionality which should be leveraged when building new XPCOM components.</p>
+<ul>
+ <li>nsCOMPtr&lt;interface-type&gt;</li>
+</ul>
+<p>These are templatized smart pointers which transparently deal with XPCOM reference counting issues. See the nsCOMPtr User's Manual for more information.</p>
+<ul>
+ <li>nsString</li>
+</ul>
+<p>There are a collection of string classes which support both unicode and ASCII strings. These classes provide a variety of string operations as well as dealing with the memory management issues of storing the underlying data. See the String Guide for more details.</p>
+<ul>
+ <li>nsWeakPtr</li>
+</ul>
+<p>This is an nsCOMPtr which encapsulates XPCOM weak reference support. See the nsIWeakReference document for more information.</p>
+<h2 id="Public_Return_Codes" name="Public_Return_Codes">Public Return Codes</h2>
+<ul>
+ <li>NS_SUCCEEDED</li>
+ <li>NS_ERROR_FAILURE</li>
+ <li>NS_ERROR_NOT_IMPLEMENTED</li>
+</ul>
+<h2 id="Public_Functions" name="Public_Functions">Public Functions</h2>
+<p>The following functions are available from the XPCOM DLL.</p>
+<ul>
+ <li>NS_InitEmbedding</li>
+</ul>
+<p>This function initializes the Gecko embedding support. This must be the first function call made into Gecko.</p>
+<ul>
+ <li>NS_TermEmbedding</li>
+</ul>
+<p>This function shuts down Gecko and cleans up any remaining resources... Currently, once Gecko has been shutdown, it cannot be restarted in the same process space... This should change in the future.</p>
+<ul>
+ <li>nsMemory
+ <ul>
+ <li>nsMemory::Alloc</li>
+ <li>nsMemory::Realloc</li>
+ <li>nsMemory::Free</li>
+ </ul>
+ </li>
+</ul>
+<p>This helper class provides static accessors to the global nsMemory Service.</p>
+<ul>
+ <li>NS_GetGlobalComponentManager</li>
+</ul>
+<p>This function returns an instance of the Component Manager service.</p>
+<ul>
+ <li>NS_ConvertASCIItoUCS2</li>
+</ul>
+<p>This is a helper class which converts an ASCII string into a UCS2 string. Typically, instances of this class are stack allocated, and wrap ASCII arguments which must be converted into UCS2.</p>
+<ul>
+ <li>do_QueryInterface</li>
+</ul>
+<p>This is a helper class which works in conjunction with nsCOMPtr to perform a simplified call to nsISupports::QueryInterface(...) with a typesafe assignment.</p>
+<ul>
+ <li>do_GetInterface</li>
+</ul>
+<p>This function simplfies retrieving interfaces via the nsIInterfaceRequestor::GetInterface(...) method. Using this function, one can use nsISupports instances and still easily access other interfaces via nsIInterfaceRequestor.</p>
+<p>Internally, this function tries to convert the nsISupports argument into an nsIInterfaceRequestor and then calls GetInterface(...) to retrieve the requested interface.</p>
+<ul>
+ <li>do_QueryReferent</li>
+</ul>
+<p>This function is the equivilent of do_QueryInterface except that it performs the QI through a weak reference.</p>
+<ul>
+ <li>do_GetService</li>
+</ul>
+<p>This function simplifies accessing services from the Service Manager.</p>
+<ul>
+ <li>do_CreateInstance</li>
+</ul>
+<p>This function simplifies creating new component instances.</p>
+<ul>
+ <li>nsCOMTypeInfo&lt;interface-type&gt;::GetIID()</li>
+</ul>
+<p>This template helper class allows easy access to an interface's nsIID. Typically the NS_GET_IID(...) macro is used instead of using the nsCOMTypeInfo template directly.</p>
+<ul>
+ <li>NS_GetWeakReference</li>
+</ul>
+<p>This function creates a weak reference to a component which implements the nsIWeakReference interface.</p>
+<h2 id="Global_Services" name="Global_Services">Global Services</h2>
+<p><strong>nsServiceManager</strong></p>
+<p>The Service Manager is the central repository for accessing instances of the various XPCOM services. Each service is represented by a singleton object which is instantiated the first time it is requested and remains alive until the Service Manager is shut down, or the service is explicitly unloaded.</p>
+<p>Through the Service Manager, individual services can be loaded, unloaded and accessed.</p>
+<p><em>Implemented Interfaces:</em></p>
+<ul>
+ <li>nsIServiceManager</li>
+</ul>
+<p><em>Related Interfaces:</em></p>
+<ul>
+ <li>nsIShutdownListener</li>
+</ul>
+<p><strong>nsMemory</strong></p>
+<p>The nsMemory service provides the global memory manager implementation for XPCOM. In addition to memory allocation and release, this service provides low memory notifications, called a memory pressure observers, which are notified when memory is low - thus allowing cached resources to be freed.</p>
+<p>All heap access should be done via the nsMemory service. To facilitate this, a set of global functions are available to access the nsMemory methods without requiring an instance of the nsMemory service (see nsMemory.h).</p>
+<p><em>Contract-id:</em> NS_MEMORY_CONTRACTID</p>
+<p><em>Implemented Interfaces:</em></p>
+<ul>
+ <li>nsIMemory</li>
+</ul>
+<p><em>Related Interfaces:</em></p>
+<ul>
+ <li>nsIObserver</li>
+</ul>
+<p><strong>nsComponentManager</strong></p>
+<p>The nsComponentManager service is responsible for creating new instances of XPCOM components. The Component Manager is also responsible for registering and managing the class factories used for component creation...</p>
+<p><em>Contract-id:</em> NS_COMPONENTMANAGER_CONTRACTID</p>
+<p><em>Implemented Interfaces:</em></p>
+<ul>
+ <li>nsIComponentManager</li>
+ <li>nsIInterfaceRequestor</li>
+</ul>
+<p><em>Requestor Interfaces:</em></p>
+<ul>
+ <li>nsIServiceManager</li>
+</ul>
+<p><em>Related Interfaces:</em></p>
+<ul>
+ <li>nsIFactory</li>
+</ul>
+<p><strong>nsURILoader</strong></p>
+<p>The nsURILoader service is responsible for targeting a URI at an appropriate content handler. A content handler may be an existing or new window, a helper application or the Unknown Content Handler - if no other handler can be found for the content-type.</p>
+<p><em>Contract-id:</em> NS_URI_LOADER_CONTRACTID</p>
+<p><em>Implemented Interfaces:</em></p>
+<ul>
+ <li>nsIURILoader</li>
+</ul>
+<p><em>Related Interfaces:</em></p>
+<ul>
+ <li>nsIURIContentListener</li>
+</ul>
+<p><strong>nsUnknownContentTypeHandler</strong></p>
+<p>The UnknownContentTypeHandler service is the last resort of the URILoader when no other content handler can be located. If no registered content handlers are available, the UnknownContentTypeHandler is notified.</p>
+<p>The default implementation of this service displays a dialog box asking the user if the content should be saved to disk...</p>
+<p><em>Contract-id:</em> NS_IUNKNOWNCONTENTTYPEHANDLER_CONTRACTID</p>
+<p><em>Implemented Interfaces:</em></p>
+<ul>
+ <li>nsIUnknownContentTypeHandler</li>
+</ul>
+<p><strong>HelperApp Launch Dialog</strong></p>
+<p><em>Contract-id:</em> NS_EXTERNALHELPERAPPSERVICE_CONTRACTID</p>
+<p><em>Implemented Interfaces:</em></p>
+<ul>
+ <li>nsIExternalHelperAppService</li>
+</ul>
+<p><strong>Preferences Service</strong></p>
+<p>The Preferences service provides access to persistent data stored within a user's profile directory.</p>
+<p><em>Contract-id:</em> NS_PREF_CONTRACTID</p>
+<p><em>Implemented Interfaces:</em></p>
+<ul>
+ <li>nsIPrefService</li>
+ <li>nsIPrefBranch</li>
+</ul>
+<p><em>Related Interfaces:</em></p>
+<ul>
+ <li>nsIPrefListener</li>
+</ul>
+<p><strong>Profile Manager Service</strong></p>
+<p><em>Contract-id:</em></p>
+<p><em>Implemented Interfaces:</em></p>
+<p><strong>Document Loader Service (WebProgress)</strong></p>
+<p>Eventually, this service will be replaced by theWebProgress service...</p>
+<p><em>Contract-id:</em> NS_DOCUMENT_LOADER_SERVICE_CONTRACTID</p>
+<p><em>Implemented Interfaces:</em></p>
+<ul>
+ <li>nsIWebProgress</li>
+ <li>nsIDocumentLoader</li>
+</ul>
+<p><em>Related Interfaces:</em></p>
+<ul>
+ <li>nsIWebProgressListener</li>
+</ul>
+<h2 id="Public_Components" name="Public_Components">Public Components</h2>
+<h3 id="nsWebBrowser" name="nsWebBrowser">nsWebBrowser</h3>
+<p>The nsWebBrowser is the main embedding component which Gecko exposes. Conceptually, each nsWebBrowser instance represents a HTML content area.</p>
+<p>Conceptually, for each document being rendered, Gecko creates a container called a DOMWindow. Each WebBrowser exposes a tree of DOMWindows - representing the frame hierarchy for the current document. As such, access to individual document frames is done via the DOMWindow interfaces. Manipulation of the entire document structure is done via the various WebBrowser interfaces.</p>
+<p><em>Contract-id:</em> NS_WEBBROWSER_CONTRACTID</p>
+<p><em>Implemented Interfaces:</em></p>
+<ul>
+ <li>nsIWebBrowser</li>
+ <li>nsIWebNavigation</li>
+ <li>nsIWebBrowserSetup</li>
+ <li>nsIWebBrowserPersist</li>
+ <li>nsIWebBrowserFind</li>
+ <li>nsIWebBrowserPrint</li>
+ <li>nsIWebBrowserFocus</li>
+ <li>nsIBaseWindow</li>
+</ul>
+<p><em>Requestor Interfaces:</em></p>
+<ul>
+ <li>nsIDOMWindow</li>
+ <li>nsIDOMDocument</li>
+ <li>nsIWebProgress</li>
+ <li>nsIClipboardCommands</li>
+ <li>nsIPrompt</li>
+</ul>
+<p><em>Related Interfaces:</em></p>
+<ul>
+ <li>nsIPrompt</li>
+ <li>nsIWebBrowserChrome</li>
+ <li>nsIWebBrowserSiteWindow</li>
+ <li>nsIWebProgressListener</li>
+ <li>nsIContextMenuListener</li>
+ <li>nsIPrintOptions</li>
+</ul>
+<p><strong>Overview:</strong></p>
+<p>Most of Gecko's functionality is exposed through the nsWebBrowser component. The WebBrowser provides a simple mechanism for other applications to leverage Gecko functionality. Each instance of a WebBrowser encapsulates a full featured HTML content area.</p>
+<p>The embedding application receives notifications from Gecko through a set of callback interfaces it may choose to implement.</p>
+<p><img alt="Image:public-apis-image3.gif" class="internal" src="/@api/deki/files/820/=Public-apis-image3.gif"></p>
+<p>Below is a code snippet which an embedding application can use to create and initialize a WebBrowser:</p>
+<pre> nsresult rv;
+ nsCOMPtr&lt;nsIBaseWindow&gt; baseWindow;
+ nsCOMPtr&lt;nsIWebBrowser&gt; webBrowser;
+
+ // Create a nsWebBrowser instance...
+ webBrowser = do_CreateInstance(NS_WEBBROWSER_CONTRACTID, &amp;rv);
+ if (NS_FAILED(rv)) return rv;
+
+ // Give the WebBrowser a pointer to the embedding component which
+ // implements the callback interfaces. Replace 'this' with
+ // an appropriate object...
+ rv = webBrowser-&gt;SetContainerWindow((nsIWebBrowserChrome*)this);
+ if (NS_FAILED(rv)) return rv;
+
+ baseWindow = do_QueryInterface(webBrowser);
+
+ // Initialize the WebBrowser with a native parent window
+ // (ie. HWND on Win32). Replace 'nativeWindow' with a
+ // reference to an appropriate native resource...
+ rv = baseWindow-&gt;InitWindow(nativeWindow, // Native window
+ nsnull, // Always nsnull.
+ x, y, cx, cy); // Initial dimensions...
+ if (NS_FAILED(rv)) return rv;
+
+ // Create the child window for the WebBrowser.
+ rv = baseWindow-&gt;Create();
+ if (NS_FAILED(rv)) return rv;
+
+ // At this point webBrowser contains the new initialized instance
+ // of the nsWebBrowser component...
+ // Save webBrowser before it goes out of scope :-)
+
+</pre>
+<p><strong>Web Navigation</strong></p>
+<p>The nsIWebNavigation interface is used to load URIs into the WebBrowser and provide access to session history capabilities - such as back and forward.</p>
+<p><strong>Clipboard</strong></p>
+<p>The WebBrowser exposes access to the system clipboard via the nsIClipboardCommands interface. This interface supports cut/copy/paste operations on the current selection within the WebBrowser window.</p>
+<p><strong>Printing (not yet implemented)</strong></p>
+<p>Printing the contents of a DOMWindow within a WebBrowser is a two step process. First, the printer and page options are collected via the nsIPrintOptions interface. On most platforms this involves displaying a native Print dialog box. Once all of the options have been set, the nsIWebBrowserPrint interface is used to print the contents of the desired DOMWindow.</p>
+<p><strong>Searching</strong></p>
+<p>Searching within a nsWebBrowser is controlled via the nsIWebBrowserFind interface. The search is always performed within the DOMWindow which currently has the focus.</p>
+<p><strong>Focus Management</strong></p>
+<p>Focus managment within the WebBrowser is accessed via the nsIWebBrowserFocus interface.</p>
+<p>This interface serves two purposes. First, it provides methods for the embedding application to notify a WebBrowser of activation/deactivation and to control tabbing order... This interface also allows access to the currently focused DOMWindow and DOMElement.</p>
+<p><strong>Context Menu notifications</strong></p>
+<p>Right-click context menu notifications are passed up to the embedding application through the nsIContextMenuListener interface. These notifications allow the embedding application to display context menus based on user activity within the WebBrowser (such as a right-click on a hypertext link).</p>
+<p><strong>Saving Documents</strong></p>
+<p><strong>Notification Interfaces which the embedding application should implement</strong></p>
+<h3 id="nsFile" name="nsFile">nsFile</h3>
+<h2 id="Public_Interfaces" name="Public_Interfaces">Public Interfaces</h2>
+<p><strong>nsISupports</strong></p>
+<p>Base Component Object Model interface. This interface provides runtime interface discovery and a reference counted memory model fashioned after the Microsoft COM IUnknown interface.</p>
+<p><em>Interface status...</em> none</p>
+<p><em>Interface definition:</em> nsISupportsUtils.h</p>
+<p><br>
+ <strong>nsIInterfaceRequestor</strong></p>
+<p>This Interface provides an interface discovery mechanism which does not imply aggregation. <em>Interface status...</em> none</p>
+<p><em>Interface definition:</em> nsIInterfaceRequestor.idl</p>
+<p><strong>nsIWeakReference</strong></p>
+<p>This interface is used to retern a proxy reference to a component.</p>
+<p><em>Interface status...</em> <a class="external" href="http://www.mozilla.org/projects/embedding/apiReviewNotes.html#nsIWeakReference">being reviewed</a></p>
+<p><em>Interface definition:</em> nsIWeakReference.idl</p>
+<p><strong>nsISimpleEmunerator</strong></p>
+<p>This interface provides a simple enumeration abstraction.</p>
+<p><em>Interface status...</em> <a class="external" href="http://www.mozilla.org/projects/embedding/apiReviewNotes.html#nsISimpleEmunerator">being reviewed</a></p>
+<p><em>Interface definition:</em> nsISimpleEnumerator.idl</p>
+<p><strong>nsIServiceManager</strong></p>
+<p>This interface allows access to global services within mozilla.</p>
+<p><em>Interface status...</em> none</p>
+<p><em>Interface definition:</em> nsIServiceManager.h</p>
+<p><br>
+ <strong>nsIShutdownListener</strong></p>
+<p>This interface is used to receive notifications when the Service Manager is being shutdown.</p>
+<p><em>Interface status...</em> none</p>
+<p><em>Interface definition:</em> nsIServiceManager.h</p>
+<p><br>
+ <strong>nsIComponentManager</strong></p>
+<p>This interface allows new instances of registered XPCOM components to be instantiated.</p>
+<p><em>Interface status...</em> none</p>
+<p><em>Interface definition:</em> nsIComponentManager.idl</p>
+<p><br>
+ <strong>nsIFactory</strong></p>
+<p>This interface is used by the Component Manager to create new instances of a particular XPCOM component. Each component must provide a factory implementation for creating new instances.</p>
+<p><em>Interface status...</em> none</p>
+<p><em>Interface definition:</em> nsIFactory.idl</p>
+<p><br>
+ <strong>nsIMemory</strong></p>
+<p>This interface provides access to the global memory management functionality.</p>
+<p><em>Interface status...</em> <a class="external" href="http://www.mozilla.org/projects/embedding/apiReviewNotes.html#nsIMemory">being reviewed</a></p>
+<p><em>Interface definition:</em> nsIMemory.idl</p>
+<p><br>
+ <strong>nsIDOMWindow</strong></p>
+<p>This interface is used to represent the window containing a specific document.</p>
+<p><em>Interface status...</em> <a class="external" href="http://www.mozilla.org/projects/embedding/apiReviewNotes.html#nsIDOMWindow">being reviewed</a></p>
+<p><em>Interface definition:</em> nsIDOMWindow.idl</p>
+<p><br>
+ <strong>nsIBaseWindow</strong></p>
+<p>This interface provides access to various window operations.</p>
+<p><em>Interface status...</em> <a class="external" href="http://www.mozilla.org/projects/embedding/apiReviewNotes.html#nsIBaseWindow">being reviewed</a></p>
+<p><em>Interface definition:</em> nsIBaseWindow.idl</p>
+<p><br>
+ <strong>nsIRequest</strong></p>
+<p>This interface provides a means to control various operations.</p>
+<p><em>Interface status...</em> <a class="external" href="http://www.mozilla.org/projects/embedding/apiReviewNotes.html#nsIRequest">being reviewed</a></p>
+<p><em>Interface definition:</em> nsIRequest.idl</p>
+<p><br>
+ <strong>nsIWebBrowser</strong></p>
+<p>This is the primary interface to the WebBrowser component.</p>
+<p><em>Interface status...</em> <a class="external" href="http://www.mozilla.org/projects/embedding/apiReviewNotes.html#nsIWebBrowser">being reviewed</a></p>
+<p><em>Interface definition:</em> nsIWebBrowser.idl</p>
+<p><br>
+ <strong>nsIWebBrowserSetup</strong></p>
+<p>This interface is used to enable or disable various capabilities of a nsWebBrowser instance.</p>
+<p><em>Interface status...</em> <a class="external" href="http://www.mozilla.org/projects/embedding/apiReviewNotes.html#nsIWebBrowserSetup">being reviewed</a></p>
+<p><em>Interface definition:</em> nsIWebBrowserSetup.idl</p>
+<p><br>
+ <strong>nsIWebBrowserChrome</strong></p>
+<p>This interface provides access to the window containing an nsWebBrowser instance.</p>
+<p><em>Interface status...</em> <a class="external" href="http://www.mozilla.org/projects/embedding/apiReviewNotes.html#nsIWebBrowserChrome">being reviewed</a></p>
+<p><em>Interface definition:</em> nsIWebBrowserChrome.idl</p>
+<p><br>
+ <strong>nsIWebNavigation</strong></p>
+<p>This interface exposes the web navigation functionality of the nsWebBrowser component.</p>
+<p><em>Interface status...</em> <a class="external" href="http://www.mozilla.org/projects/embedding/apiReviewNotes.html#nsIWebNavigation">being reviewed</a></p>
+<p><em>Interface definition:</em> nsIWebNavigation.idl</p>
+<p><br>
+ <strong>nsIWebBrowserPersist</strong></p>
+<p>This interface exposes the save-as functionality of the nsWebBrowser component.</p>
+<p><em>Interface status...</em> <a class="external" href="http://www.mozilla.org/projects/embedding/apiReviewNotes.html#nsIWebBrowserPersist">being reviewed</a></p>
+<p><em>Interface definition:</em> nsIWebBrowserPersist.idl</p>
+<p><br>
+ <strong>nsIWebBrowserPrint</strong></p>
+<p>This interface allows printing of individual (or a collection of) DOM Windows within a nsWebBrowser component.</p>
+<p><em>Interface status...</em> <a class="external" href="http://www.mozilla.org/projects/embedding/apiReviewNotes.html#nsIWebBrowserPrint">being reviewed</a></p>
+<p><em>Interface definition:</em> nsIWebBrowserPrint.idl</p>
+<p><br>
+ <strong>nsIWebBrowserFind</strong></p>
+<p>This interface exposes the searching capabilities of the nsWebBrowser component.</p>
+<p><em>Interface status...</em> none</p>
+<p><em>Interface definition:</em> nsIWebBrowserFind.idl</p>
+<p><br>
+ <strong>nsIWebBrowserFocus</strong></p>
+<p>This interface provides access to the focus information of a nsWebBrowser instance.</p>
+<p><em>Interface status...</em> <a class="external" href="http://www.mozilla.org/projects/embedding/apiReviewNotes.html#nsIWebBrowserFocus">being reviewed</a></p>
+<p><em>Interface definition:</em> nsIWebBrowserFocus.idl</p>
+<p><br>
+ <strong>nsIWebProgress</strong></p>
+<p><em>Interface status...</em></p>
+<p><em>Interface definition:</em></p>
+<p><br>
+ <strong>nsIWebProgressListener</strong></p>
+<p><em>Interface status...</em></p>
+<p><em>Interface definition:</em></p>
+<p><br>
+ <strong>nsIPrompt</strong></p>
+<p><em>Interface status...</em></p>
+<p><em>Interface definition:</em></p>
+<p><br>
+ <strong>nsIPrefs</strong></p>
+<p><em>Interface status...</em></p>
+<p><em>Interface definition:</em></p>
+<p><br>
+ <strong>{{ interface("nsIProfile") }}</strong></p>
+<p>The Profile Manager creates and manages user profiles; each profile is essentially a complete configuration of the application, including preferences, installed extensions, and so forth.</p>
+<p><br>
+ <strong>nsIDirectoryServiceProvider</strong></p>
+<p><em>Interface status...</em></p>
+<p><em>Interface definition:</em></p>
+<p><br>
+ <strong>nsILocalFile</strong></p>
+<p><em>Interface status...</em></p>
+<p><em>Interface definition:</em></p>
+<p><br>
+ <strong>nsIFile</strong></p>
+<p><em>Interface status...</em></p>
+<p><em>Interface definition:</em></p>
+<p><br>
+ <strong>nsIClipboardCommands</strong></p>
+<p><em>Interface status...</em></p>
+<p><em>Interface definition:</em></p>
+<p><br>
+ <strong>nsISelection</strong></p>
+<p><em>Interface status...</em></p>
+<p><em>Interface definition:</em></p>
+<p><br>
+ <strong>nsIURILoader</strong></p>
+<p><em>Interface status...</em></p>
+<p><em>Interface definition:</em></p>
+<p><br>
+ <strong>nsIURIContentListener</strong></p>
+<p><em>Interface status...</em></p>
+<p><em>Interface definition:</em></p>
+<p> </p>
+<h2 id="Defining_New_XPCOM_Components" name="Defining_New_XPCOM_Components">Defining New XPCOM Components</h2>
+<div class="originaldocinfo">
+ <h2 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h2>
+ <ul>
+ <li>Author(s): rpotts, alecf, oeschger at netscape.com</li>
+ <li>Last Updated Date: March 5, 2003</li>
+ <li>Copyright Information: Creative Commons</li>
+ </ul>
+</div>
+<p> </p>
diff --git a/files/fr/mozilla/gecko/mozilla_embarqué/faq_de_mozilla_embarqué/embarquer_gecko/index.html b/files/fr/mozilla/gecko/mozilla_embarqué/faq_de_mozilla_embarqué/embarquer_gecko/index.html
new file mode 100644
index 0000000000..e35036fbf4
--- /dev/null
+++ b/files/fr/mozilla/gecko/mozilla_embarqué/faq_de_mozilla_embarqué/embarquer_gecko/index.html
@@ -0,0 +1,133 @@
+---
+title: Embarquer Gecko
+slug: Mozilla/Gecko/Mozilla_embarqué/FAQ_de_Mozilla_embarqué/Embarquer_Gecko
+tags:
+ - FAQ_de_Mozilla_embarqué
+translation_of: Mozilla/Gecko/Embedding_Mozilla/FAQ/Embedding_Gecko
+---
+<div class="blockIndicator obsolete obsoleteHeader"><p><strong><span class="icon-only-inline" title="This is an obsolete API and is no longer guaranteed to work."><i class="icon-trash"> </i></span> Obsolète</strong><br>Cette fonctionnalité est obsolète. Bien qu'encore supportée par des navigateurs, son utilisation est découragée pour tout nouveau projet. Évitez de l'utiliser.</p></div>
+
+<div class="warning">Embedding of Gecko is no longer supported. If you currently embed Gecko, you should use an alternate solution, because you will not be able to pick up new security improvements. <strong>Do not use the techniques covered on this page; this material is retained for historical purposes only.</strong></div>
+
+<h2 id="Section_2__Embarquer_Gecko" name="Section_2_:_Embarquer_Gecko">Section 2 : Embarquer Gecko</h2>
+
+<h3 id="De_quels_fichiers_ai-je_besoin_pour_embarquer_.3F" name="De_quels_fichiers_ai-je_besoin_pour_embarquer_.3F">De quels fichiers ai-je besoin pour embarquer ?</h3>
+
+<p>Actuellement, vous devez télécharger et compiler toute l'arborescence des sources du navigateur Mozilla puis choisir les fichiers binaires que vous souhaitez embarquer dans votre application.<br>
+ Les<em>nightly builds</em> sont créées automatiquement depuis les manifests donc vous pouvez commencer à chercher de ce coté.</p>
+
+<p>Comment puis-je compiler les sources à embarquer ?</p>
+
+<p>Premièrement <a href="fr/Documentation_sur_la_compilation">compilez Mozilla</a>, puis saisissez :</p>
+
+<pre class="eval">cd mozilla/embedding/config
+make
+</pre>
+
+<p>Note : Si vous utilisez un <code>objdir</code>, placez-vous plutôt dans le répertoire <code>mozilla/&lt;objdir&gt;/embedding/config</code> puis lancez la compilation avec <code>make</code>.</p>
+
+<p>Un répertoire appelé <code>mozilla/dist/Embed</code> est créé, il contient les fichiers spécifiés par les manifests par défaut et chrome. Vous pouvez tester les compilations par défaut en exécutant les applications de test TestGtkEmbed sous Unix ou MFCEmbed sous Win32. Pour exécuter TestGtlEmbed sous Unix saisissez :</p>
+
+<pre class="eval">cd mozilla/dist/Embed
+./run-mozilla.sh ./TestGtkEmbed
+</pre>
+
+<h3 id="Comment_est_faite_la_distribution_embarqu.C3.A9e_.3F" name="Comment_est_faite_la_distribution_embarqu.C3.A9e_.3F">Comment est faite la distribution embarquée ?</h3>
+
+<p>Look in <code><a href="https://dxr.mozilla.org/mozilla-central/source/embedding/config/" rel="custom">embedding/config/</a></code> to see a the embedding build process. The basebrowser-win (or basebrowser-unix etc.) file determines which files need to be copied. The embed-jar.mn specifies what chrome is required.</p>
+
+<p>Note that this sample only contains a<em>typical</em> subset of files. You may wish to add or remove files from basebrowser-foo (where foo is win, unix or mach as appropriate) depending on the capabilities you need in your product, or supplement these files by writing your own client-foo file which will be read in addition to basebrowser-foo.</p>
+
+<p>For instance, you can remove the "necko2" library if you do not need FTP, but you will need to add the "appcomps" and "mork" libraries in order to use the Mozilla browser's global history implementation.</p>
+
+<p>The embedding distribution <a href="https://dxr.mozilla.org/mozilla-central/source/embedding/config/readme.html" rel="custom">readme file</a> provides more information.</p>
+
+<p><small>Todo: provide a more complete map of features &lt;-&gt; files</small></p>
+
+<h3 id="Pourquoi_ai-je_besoin_de_distribuer_des_fichiers_XPT_avec_mon_application_.3F" name="Pourquoi_ai-je_besoin_de_distribuer_des_fichiers_XPT_avec_mon_application_.3F">Pourquoi ai-je besoin de distribuer des fichiers XPT avec mon application ?</h3>
+
+<p>XPT files are XPCOM type libraries and contain binary definitions of interfaces used by cross-thread marshalling routines and JavaScript to call objects. In other words they are as vital as DLLs to ensure Gecko functions properly.</p>
+
+<p>XPT files can be concatenated together using the xpt_link tool to reduce clutter and improve startup performance. There is a special perl script for this purpose, that you can see <a href="https://dxr.mozilla.org/mozilla-central/source/xpinstall/packager/xptlink.pl" rel="custom">here</a>.</p>
+
+<h3 id="Comment_me_pr.C3.A9munir_des_changements_de_Gecko_.3F" name="Comment_me_pr.C3.A9munir_des_changements_de_Gecko_.3F">Comment me prémunir des changements de Gecko ?</h3>
+
+<p>If you want to be protected against changes in the Gecko, you should only use interfaces and API that are clearly marked FROZEN in their idl description. This query will find most of the frozen interfaces: <a href="http://mxr.mozilla.org/mozilla-central/search?string=us+FROZEN">Frozen Interface and APIs</a>. Interfaces are being reviewed and frozen all the time and cover most things embedders will want to do.</p>
+
+<p>You can still use unfrozen interfaces (hey it's open source and we can't stop you!) and even reach into the guts of the code but you do so at your own risk. Subsequent releases of Mozilla may well change these interfaces and your source and binary will break as a result.</p>
+
+<p>See the <a class="external" href="http://www.mozilla.org/projects/embedding/embedapiref/embedapiTOC.html">Embedding API Reference</a> for more information</p>
+
+<h3 id="Cela_veut-il_dire_que_mon_application_fonctionnera_avec_toutes_les_futures_versions_de_GRE.2FGecko.2FMozilla_.3F" name="Cela_veut-il_dire_que_mon_application_fonctionnera_avec_toutes_les_futures_versions_de_GRE.2FGecko.2FMozilla_.3F">Cela veut-il dire que mon application fonctionnera avec toutes les futures versions de GRE/Gecko/Mozilla ?</h3>
+
+<p>As long as you use frozen interfaces, the answer is: "Almost." Unfortunately vtable layout can vary from compiler to compiler. This mostly affects Linux compilers such as gcc which have changed their vtable layout more than once in the past few years. See the document on <a class="external" href="http://www.mozilla.org/projects/xpcom/binary-compatibility.html">binary compatibility</a>. <span class="comment">when ported too, this should be an internal link</span></p>
+
+<h3 id="Quelles_plate-formes_sont_support.C3.A9es_.3F" name="Quelles_plate-formes_sont_support.C3.A9es_.3F">Quelles plate-formes sont supportées ?</h3>
+
+<p>Short answer is anything Mozilla can run on, then Gecko can too. However, the embedding is concentrating on three primary platforms:</p>
+
+<ul>
+ <li>Windows (95? definitely 98 and later)</li>
+ <li>Linux (and probably most other X-windows based *nix variants)</li>
+ <li>Macintosh OS X. MacOS 8.6 and 9 support is now deprecated to the ports section of the Mozilla project and are not being actively worked on.</li>
+</ul>
+
+<h3 id="L.27embarquement_supporte-t-il_des_protocoles_s.C3.A9curis.C3.A9s_comme_HTTPS_.3F" name="L.27embarquement_supporte-t-il_des_protocoles_s.C3.A9curis.C3.A9s_comme_HTTPS_.3F">L'embarquement supporte-t-il des protocoles sécurisés comme HTTPS ?</h3>
+
+<p>Yes, psm is supported in embedding.</p>
+
+<h3 id="Comment_mes_applications_communiquent-elles_avec_Gecko_.3F" name="Comment_mes_applications_communiquent-elles_avec_Gecko_.3F">Comment mes applications communiquent-elles avec Gecko ?</h3>
+
+<p>The Embedding API provides a set of interfaces and to control the embedded application, and another set of interfaces that the containing application must implement in order to receive asynchronous notifications from the embedded browser.</p>
+
+<p><small>Todo: insert jud's picture here?</small></p>
+
+<h3 id="Puis-je_embarquer_sans..." name="Puis-je_embarquer_sans...">Puis-je embarquer sans...</h3>
+
+<p>(Some of the more common questions)</p>
+
+<ul>
+ <li>FTP support? Yes.</li>
+ <li>HTTPS support? Yes.</li>
+ <li>Network support? No, maybe someday</li>
+ <li>XUL support? No, but someday yes.</li>
+ <li>JavaScript support? No, maybe someday.</li>
+ <li>CSS support? No, never.</li>
+ <li>DOM support? No, probably never.</li>
+ <li>XML support? No, probably never.</li>
+ <li>International Characters Sets? Yes.</li>
+ <li>Java support? Yes.</li>
+</ul>
+
+<h3 id="Puis-je_embarquer_l.27.C3.A9diteur_HTML_de_Mozilla_.3F" name="Puis-je_embarquer_l.27.C3.A9diteur_HTML_de_Mozilla_.3F">Puis-je embarquer l'éditeur HTML de Mozilla ?</h3>
+
+<p>Sort of. The latest word is that you can embed an editor in a native app, and do command handling and updating via the command handling APIs. There is some lacking functionality (e.g. controlling editor types, inserting and extracting HTML). In addition, the command handling APIs are soon going to change, when Mike Judge lands a long-standing patch (which missed the 1.0 change, and bas been delayed way too long).</p>
+
+<p>Documentation is lacking, mostly because of pending API changes. Check out the <a class="external" href="http://www.mozilla.org/editor/editor-embedding.html">Embedding Editor</a> page for more info.</p>
+
+<h3 id="Quel_toolkit_de_widget_peut_utiliser_Mozilla_.3F" name="Quel_toolkit_de_widget_peut_utiliser_Mozilla_.3F">Quel toolkit de widget peut utiliser Mozilla ?</h3>
+
+<p>Mozilla makes its own cross-platform widgets for HTML forms, and does not use a 3rd-party cross platform toolkit, nor the native widgets that a platform provides. The widgets are drawn using GFX, Mozilla's abstraction of a drawing toolkit. They are styled with CSS, including minor per-platform tweaks to allow them to look like the native platform's native widgets. This allows full CSS and DOM support of all HTML widgets across all platforms, without requiring each platform to separately support every part of CSS and DOM.</p>
+
+<p>There have been a number of requests for native widget support but at this time there are no plans to support a second widget set beyond the cross-platform widgets.</p>
+
+<p>In the future, widgets may be defined with XBL.</p>
+
+<h3 id="Mozilla_embarqu.C3.A9_supporte-t-il_Java_.3F" name="Mozilla_embarqu.C3.A9_supporte-t-il_Java_.3F">Mozilla embarqué supporte-t-il Java ?</h3>
+
+<p>We provide Java support through the OJI plugin API. The Java plugin from Sun takes ~7Mb of disk space (Linux). If you want Java support you should edit the basebrowser-win / basebrowser-unix etc. file and uncomment the OJI section or copy those files manually after an embedding dist has been created.</p>
+
+<h3 id="Puis-je_embarquer_Mozilla_dans_n.27importe_quel_autre_cas_.3F" name="Puis-je_embarquer_Mozilla_dans_n.27importe_quel_autre_cas_.3F">Puis-je embarquer Mozilla dans n'importe quel autre cas ?</h3>
+
+<p>Aside from programming direct to the embedding API you may also embed Mozilla:</p>
+
+<ul>
+ <li>In GTK applications using the <a class="external" href="http://www.mozilla.org/unix/gtk-embedding.html">Gtk Mozilla Embedding Widget</a>.</li>
+ <li>In Win32 ActiveX applications using the <a class="external" href="http://www.iol.ie/%7Elocka/mozilla/mozilla.htm">Mozilla ActiveX Control</a>.</li>
+ <li>In Mac applications using <a href="https://dxr.mozilla.org/mozilla-central/source/embedding/browser/powerplant/" rel="custom">PPEmbed</a>.</li>
+ <li>In a Java Application using <a class="external" href="http://www.mozilla.org/projects/blackwood/webclient/">Webclient</a>.</li>
+</ul>
+
+<p><span class="comment">Interwiki Language Links</span></p>
+
+<div class="noinclude"> </div>
diff --git a/files/fr/mozilla/gecko/mozilla_embarqué/faq_de_mozilla_embarqué/introduction_à_gecko_et_à_l'embarqué/index.html b/files/fr/mozilla/gecko/mozilla_embarqué/faq_de_mozilla_embarqué/introduction_à_gecko_et_à_l'embarqué/index.html
new file mode 100644
index 0000000000..1836cab0bb
--- /dev/null
+++ b/files/fr/mozilla/gecko/mozilla_embarqué/faq_de_mozilla_embarqué/introduction_à_gecko_et_à_l'embarqué/index.html
@@ -0,0 +1,53 @@
+---
+title: Introduction à Gecko et à l'embarqué
+slug: >-
+ Mozilla/Gecko/Mozilla_embarqué/FAQ_de_Mozilla_embarqué/Introduction_à_Gecko_et_à_l'embarqué
+tags:
+ - FAQ_de_Mozilla_embarqué
+translation_of: Mozilla/Gecko/Embedding_Mozilla/FAQ/How_do_I...
+---
+<p> </p>
+<h2 id="Introduction_.C3.A0_Gecko_et_.C3.A0_l.27embarquement" name="Introduction_.C3.A0_Gecko_et_.C3.A0_l.27embarquement">Introduction à Gecko et à l'embarquement</h2>
+<h3 id="Qu.27est-ce_que_Gecko_.3F" name="Qu.27est-ce_que_Gecko_.3F">Qu'est-ce que Gecko ?</h3>
+<p>Gecko est le moteur interne du navigateur, ce qui inclut networking, un parser, un modèle de contenu, chrome et les autres technologies sur lesquelles Mozilla et les autres applications sont basées. En d'autres termes, tout ce qui n'est pas spécifique à une application.</p>
+<p>La FAQ de Gecko est légèrement obsolète <a class="external" href="http://www.mozilla.org/newlayout/faq.html">FAQ</a>.</p>
+<h3 id="Qu.27est-ce_que_Mozilla_.3F" name="Qu.27est-ce_que_Mozilla_.3F">Qu'est-ce que Mozilla ?</h3>
+<p>Mozilla est un navigateur web open-source multi plates-formes, un éditeur et une application de messagerie / newsgroup créé sur Gecko.</p>
+<h3 id="Qu.27est-ce_que_le_GRE_.3F" name="Qu.27est-ce_que_le_GRE_.3F">Qu'est-ce que le GRE ?</h3>
+<p>Le GRE (formellement le MRE) qui est l'acronime de <a href="fr/GRE">Gecko Runtime Environment</a>, est un support d'exécution partagé que toutes les applications peuvent utiliser. Il est maintenant développé comme un projet indépendant connu sous le nom de <a href="fr/XULRunner">XULRunner</a>.</p>
+<h3 id="Qu.27est-ce_que_XPCOM_.3F" name="Qu.27est-ce_que_XPCOM_.3F">Qu'est-ce que XPCOM ?</h3>
+<p>XPCOM est un
+ <i>
+ modèle objet de composants</i>
+ (semblable à COM/DCOM de MS Windows mais conçut pour être portable sur plusieurs plates-formes) utilisé pour unifier la création, le contrôle, et la suppression d'objets et d'autres données à travers Mozilla. Le coeur de XPCOM est l'interface
+ <i>
+ nsISupports</i>
+ , qui offre des services de comptage des références et d'introspection (possibilité d'interroger les objets afin de se renseigner sur leurs capacités). Tout les objets XPCOM implémentent l'interface
+ <i>
+ nsISupports</i>
+ , en plus de toutes les interfaces spécifiques qui lui sont nécessaire. En fin de compte, XPCOM fournit une couche de services indépendante du language appelé
+ <i>
+ XPConnect</i>
+ qui permet l'implémentation d'objets dans tout language supporté. Grâce à
+ <i>
+ XPConnect</i>
+ , ces objets peuvent aussi être appelés à partir de n'importe lequel de ces languages.</p>
+<p>On peut trouver plus d'informations <a class="external" href="http://www.mozilla.org/projects/xpcom/">ici</a>.</p>
+<h3 id="Que_signifie_embarquer_Gecko_.3F" name="Que_signifie_embarquer_Gecko_.3F">Que signifie embarquer Gecko ?</h3>
+<p>Gecko autorise des developpeurs tiers à utiliser la même technologie que Mozilla. Cela signifie que vous pouvez tirer partie, dans une application tierce, des services d'un navigateur web, ouvrir des canaux de communications et faire transiter des flux de données à travers le service réseau, le
+ <i>
+ Modèle Objet de Document</i>
+ (NdT: en anglais DOM,
+ <i>
+ Document Object Model</i>
+ ) et plus encore. Vous pouvez même bâtir entièrement une nouvelle application en utilisant Gecko.</p>
+<h3 id="Quels_sont_les_termes_de_licence_pour_embarquer_Gecko_.3F" name="Quels_sont_les_termes_de_licence_pour_embarquer_Gecko_.3F">Quels sont les termes de licence pour embarquer Gecko ?</h3>
+<p>Les mêmes que pour le reste de Mozilla. Voir la <a class="external" href="http://www.mozilla.org/MPL/">page du MPL</a> pour plus d'informations.</p>
+<h3 id="Existe-t.27il_un_SDK_.3F" name="Existe-t.27il_un_SDK_.3F">Existe-t'il un SDK ?</h3>
+<p>Nous travaillons lentement sur une SDK, gelant et documentant les interfaces et retouchant le processus de construction. Pour le moment nous vous recommandons de <a class="external" href="http://developer.mozilla.org/fr/docs/T%C3%A9l%C3%A9chargement_du_code_source_de_Mozilla">télécharger le code source</a> puis de le <a class="external" href="http://developer.mozilla.org/fr/docs/Documentation_sur_la_compilation">compiler</a>.</p>
+<p>Des compilations nocturnes du SDK pour la plateforme Windows 32bits peuvent être disponibles <a class="link-ftp" href="ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/nightly/latest-trunk/gecko-sdk-i586-pc-msvc.zip">ici</a>.</p>
+<h3 id="Quelle_est_la_derni.C3.A8re_version_.3F_Quelle_version_utiliser_.3F" name="Quelle_est_la_derni.C3.A8re_version_.3F_Quelle_version_utiliser_.3F">Quelle est la dernière version ? Quelle version utiliser ?</h3>
+<p>Les compilations embarquées et les source tarballs sont produites la nuit et peuvent être obtenues <a class="link-ftp" href="ftp://ftp.mozilla.org/pub/mozilla.org/xulrunner/nightly/latest-trunk/">ici</a>. Si vous privilégiez la stabilité, les compilations de la branche 1.7.x de Mozilla sont vivement recommendées.</p>
+<h3 id="Qui_utilise_d.C3.A9j.C3.A0_gecko_.3F" name="Qui_utilise_d.C3.A9j.C3.A0_gecko_.3F">Qui utilise déjà gecko ?</h3>
+<p>Voir <a class="external" href="http://www.mozilla.org/projects/embedding/examples/">ici</a> la liste des logiciels embarquant Gecko.</p>
+<p><span class="comment">Interwiki Language Links</span></p>
diff --git a/files/fr/mozilla/gecko/mozilla_embarqué/index.html b/files/fr/mozilla/gecko/mozilla_embarqué/index.html
new file mode 100644
index 0000000000..b8a2b5bb4c
--- /dev/null
+++ b/files/fr/mozilla/gecko/mozilla_embarqué/index.html
@@ -0,0 +1,59 @@
+---
+title: Mozilla embarqué
+slug: Mozilla/Gecko/Mozilla_embarqué
+tags:
+ - Mozilla_embarqué
+translation_of: Mozilla/Gecko/Embedding_Mozilla
+---
+<div>
+<p><a href="/fr/Gecko" title="fr/Gecko">Gecko</a> permet aux développeurs d'applications tierces de pouvoir bénéficier de la même technologie que celle présente dans Mozilla. Il est possible d'intégrer un navigateur Web à l'intérieur d'une autre application, d'ouvrir des canaux et de parcourir des flux de données à travers le réseau, de manipuler le <a href="/fr/DOM" title="fr/DOM">DOM</a> et ainsi de suite. Des applications entières peuvent être crées en s'appuyant sur Gecko.</p>
+</div>
+
+<table class="topicpage-table">
+ <tbody>
+ <tr>
+ <td>
+ <h2 class="Documentation" id="Documentation"><a href="/Special:Tags?tag=Mozilla_embarqué&amp;language=fr" title="Special:Tags?tag=Mozilla_embarqué&amp;language=fr">Documentation</a></h2>
+
+ <dl>
+ <dt><a href="/fr/docs/FAQ_de_Mozilla_embarqué" title="fr/FAQ_de_Mozilla_embarqué">FAQ de Mozilla embarqué</a></dt>
+ <dd><small>Une Foire Aux Questions très complète concernant Mozilla embarqué.</small></dd>
+ </dl>
+
+ <dl>
+ <dt><a href="/fr/docs/Gecko/Gecko_Embedding_Basics" title="fr/Les_bases_de_Gecko_embarqué">Les bases de Gecko embarqué</a></dt>
+ <dd><small>Une introduction à l'incorporation du moteur de rendu Gecko dans une application (à traduire de <a href="/en/Gecko_Embedding_Basics">en:Gecko Embedding Basics</a>).</small></dd>
+ </dl>
+
+ <dl>
+ <dt><a href="/fr/docs/Intégration_de_l'éditeur" title="fr/Intégration_de_l'éditeur">Intégration de l'éditeur</a></dt>
+ <dd><small>Ce document détaille la situation actuelle de l'éditeur dans ce domaine, les problèmes dans l'implémentation existante, certains scénarios possibles d'intégration de l'éditeur qui doivent être pris en compte, et une solution embarquée qui les intègrera</small>.</dd>
+ </dl>
+
+ <dl>
+ <dt><a href="https://developer.mozilla.org/fr/docs/Gecko/Mozilla_embarqué/Roll_your_own_browser" title="fr/Construisez_votre_propre_navigateur_-_Comment_embarquer_Mozilla">Construisez votre propre navigateur - Comment embarquer Mozilla</a></dt>
+ <dd><small>Une introduction rapide à Mozilla embarqué (à traduire de <a href="/en/Roll_your_own_browser_-_An_embedding_HowTo">en:Roll your own browser - An embedding HowTo</a>.</small></dd>
+ </dl>
+
+ <p><span class="alllinks"><a href="/Special:Tags?tag=Mozilla_embarqué&amp;language=fr" title="Special:Tags?tag=Mozilla_embarqué&amp;language=fr">Tous les articles…</a></span></p>
+ </td>
+ <td>
+ <h2 class="Community" id="Communauté">Communauté</h2>
+
+ <ul>
+ <li>Voir les forums de Mozilla…</li>
+ </ul>
+
+ <p>{{ DiscussionList("dev-embedding", "mozilla.dev.embedding") }}</p>
+
+ <h2 class="Related_Topics" id="Sujets_liés">Sujets liés</h2>
+
+ <dl>
+ <dd><a href="/fr/Gecko" title="fr/Gecko">Gecko</a>, <a href="/fr/XPCOM" title="fr/XPCOM">XPCOM</a></dd>
+ </dl>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<p> </p>
diff --git a/files/fr/mozilla/gecko/mozilla_embarqué/intégration_éditeur/index.html b/files/fr/mozilla/gecko/mozilla_embarqué/intégration_éditeur/index.html
new file mode 100644
index 0000000000..4e6e8c8281
--- /dev/null
+++ b/files/fr/mozilla/gecko/mozilla_embarqué/intégration_éditeur/index.html
@@ -0,0 +1,133 @@
+---
+title: Intégration de l'éditeur
+slug: Mozilla/Gecko/Mozilla_embarqué/Intégration_éditeur
+tags:
+ - Midas
+ - Mozilla_embarqué
+translation_of: Mozilla/Gecko/Embedding_Mozilla/Embedding_the_editor
+---
+<h3 id="Introduction" name="Introduction">Introduction</h3>
+
+<p>Ce document présente les possibilités actuelles d'intégration d'un éditeur, les problèmes causés par l'intégration existante, quelques scénarios d'intégration possibles pour s'en sortir, et une solution d'intégration pour les réaliser. Pour finir, la solution retenue sera décrite étape par étape.</p>
+
+<h3 id="Mises_en_.C5.93uvre_possibles_de_l.27int.C3.A9gration" name="Mises_en_.C5.93uvre_possibles_de_l.27int.C3.A9gration">Mises en œuvre possibles de l'intégration</h3>
+
+<p>Ici sont décrits des scénarios d'intégration nécessaires pour faire fonctionner un éditeur. Notez que j'utilise le terme de « Compositeur » pour désigner une interface de composition au format HTML qui fait de l'édition de texte enrichi et « Éditeur » pour un éditeur en texte brut (aussi bien que pour la technologie sous-jacente du compositeur). <code>&lt;htmlarea&gt;</code> est vu comme une formule pour désigner un objet texte contenant du texte enrichi, cela ne veut pas dire pour autant que cette balise sera supportée dans les versions suivantes de Mozilla.</p>
+
+<h4 id="Compositeur_int.C3.A9gr.C3.A9_dans_une_application_XUL" name="Compositeur_int.C3.A9gr.C3.A9_dans_une_application_XUL">Compositeur intégré dans une application XUL</h4>
+
+<p>Les développeurs ont besoin d'intégrer des compositeurs dans leurs applications XUL en utilisant la balise <code>&lt;editor&gt;</code>, comme cela se fait aujourd'hui. Ils devraient avoir le moins possible de travail à faire pour obtenir les fonctions basiques d'édition, avoir autant d'<code>&lt;editor&gt;</code>s par fenêtre qu'ils le souhaitent et pouvoir contrôler si ces <code>&lt;editor&gt;</code>s sont en mode HTML ou en mode texte.</p>
+
+<h4 id="Compositeur_int.C3.A9gr.C3.A9_dans_une_application_native" name="Compositeur_int.C3.A9gr.C3.A9_dans_une_application_native">Compositeur intégré dans une application native</h4>
+
+<p>Dans ce cas de figure, l'<code>&lt;iframe&gt;</code> dans laquelle fonctionne l'éditeur est directement intégrée dans l'application native. Cela revient à intégrer un navigateur via nsIWebBrowser, mais en obtenant, à la place, un document éditable. L'interface du compositeur (barres d'outils, etc.) doit être implémentée à partir des éléments d'interface graphique présents dans le conteneur ou en utilisant du XUL. Cette interface doit être configurable, avec notamment des barres d'outils flottantes déplaçables (dockable ?), une même barre d'outils pour plusieurs objets compositeur, ou une pour chaque.</p>
+
+<p>Ce type d'intégration requiert que le code du compositeur fonctionne quelle que soit l'interface utilisateur (IU). La communication entre le noyau de l'éditeur et l'interface utilisateur doit pouvoir passer par une ou plusieurs interfaces qui isolent l'éditeur de l'application hôte. (L'<code>nsEditorShell</code> existant fait des suppositions sur l'hébergement de document XUL, qui doivent être contredites.)</p>
+
+<h4 id="Compositeur_int.C3.A9gr.C3.A9_dans_une_page_web_.28.3Chtmlarea.3E.29" name="Compositeur_int.C3.A9gr.C3.A9_dans_une_page_web_.28.3Chtmlarea.3E.29">Compositeur intégré dans une page web (<code>&lt;htmlarea&gt;</code>)</h4>
+
+<p>IE 5 supporte l'<a class="external" href="http://www.siteexperts.com/ie5/htmlarea/page1.asp">élément <code>&lt;HTMLArea&gt;</code></a> ; si Mozilla travaille à supporter quelque chose de similaire, l'éditeur devra être intégrable dans la mesure du possible. Il est probable qu'on utilise <a class="external" href="http://www.mozilla.org/projects/xbl/xbl.html">XBL</a> pour implémenter ce type d'objet, comme c'est prévu pour d'autres types de contrôles.</p>
+
+<p>Dans le cas de l'intégration du compositeur dans une application native, il est donc ici nécessaire de rendre l'interface utilisateur configurable, de façon que l'on puisse aussi bien l'afficher comme une barre d'outils au dessus de <code>&lt;htmlarea&gt;</code>, comme une fenêtre flottante, ou comme une barre d'outil de haut-niveau (top-level).</p>
+
+<h3 id="Probl.C3.A8mes_connus" name="Probl.C3.A8mes_connus">Problèmes connus</h3>
+
+<p>L'architecture du compositeur existant a été créée alors que d'autres parties de Mozilla étaient encore en cours de développement. Il en résulte de nombreux points faibles et anachronismes. Cette section décrit ses défauts majeurs.</p>
+
+<h4 id="Probl.C3.A8me_d.27appartenance_de_l.27.C3.A9diteur" name="Probl.C3.A8me_d.27appartenance_de_l.27.C3.A9diteur">Problème d'appartenance de l'éditeur</h4>
+
+<p>L'éditeur d'une fenêtre compositrice appartient au <code><a class="external" href="http://lxr.mozilla.org/seamonkey/source/editor/base/nsEditorShell.cpp">nsEditorShell</a></code>, qui à son tour est créé, dirigé et détruit par <code><a class="external" href="http://lxr.mozilla.org/seamonkey/source/layout/xul/base/src/nsEditorBoxObject.cpp">nsEditorBoxObject</a></code>. L'objet box est une structure de présentation qui appartient aux noeuds de contenu et survit à la destruction/reconstitution de la frame. L'objet box a également une référence vers le docShell de la frame éditrice. XBL créé un <code>nsEditorBoxObject</code> pour chaque balise <code>&lt;editor&gt;</code>, et permet à Javascript d'accéder aux propriétés de cet objet box (tel que le <code>nsIEditorShell</code>). La balise <code>&lt;editor&gt;</code> est tout simplement une <code>&lt;iframe&gt;</code> dans laquelle l'éditeur est créé. Dans les autres aspects, il se comporte comme une <code>&lt;iframe&gt;</code> XUL.</p>
+
+<p>Le problème avec ce modèle d'appartenance est qu'il ne peut y avoir qu'un éditeur par balise <code>&lt;editor&gt;</code>, alors que le document chargé dans l'<code>&lt;iframe&gt;</code> peut très bien contenir de multiples <code>&lt;iframe&gt;</code>s (dans le cas d'un document frameset ou dans un document contenant lui-même un <code>&lt;html:iframe&gt;</code>). Aujourd'hui, le compositeur ne fonctionne pas très bien avec ce types de document.</p>
+
+<h4 id="Limitation_d.27un_.C3.A9diteur_par_fen.C3.AAtre" name="Limitation_d.27un_.C3.A9diteur_par_fen.C3.AAtre">Limitation d'un éditeur par fenêtre</h4>
+
+<p>Le compositeur construit sur une architecture XUL/C++ s'est développé sur le présupposé qu'une seule balise <code>&lt;editor&gt;</code> par fenêtre suffirait. Lors de la construction de la fenêtre, nous prenons l'editorShell de l'élément <code>&lt;editor&gt;</code> <a class="external" href="http://lxr.mozilla.org/seamonkey/source/editor/ui/composer/content/editor.js#169">que l'on met dans <code>window.editorShell</code></a>. A partir de là, beaucoup de Javascript dans editor.js, ComposerCommands.js et les différents fichiés JS de dialogue s'assurent de pouvoir atteindre le seul bon éditeur via <code>window.editorShell</code>. Ce présupposé manquait de clairevoyance et doit être corrigé.</p>
+
+<h4 id="L.27.C3.A9diteur_suppose_une_structure_de_document_XUL" name="L.27.C3.A9diteur_suppose_une_structure_de_document_XUL">L'éditeur suppose une structure de document XUL</h4>
+
+<p>Du code C++ et JS présent dans l'éditeur suppose que celui-ci se trouve dans un document XUL et qu'il y ait des nœuds du document XUL en dehors, dont les attributs peuvent être récupérés pour changer l'état de l'interface utilisateur (par exemple le style des boutons). Cela doit être changé pour permettre aux conteneurs d'utiliser leurs propres apparences, probablement natives. L'éditeur doit pouvoir faire des appels à travers une ou plusieurs interfaces quand il communique avec l'interface utilisateur.</p>
+
+<h3 id="Objectifs_de_l.27int.C3.A9gration" name="Objectifs_de_l.27int.C3.A9gration">Objectifs de l'intégration</h3>
+
+<p>L'éditeur requiert des changements de conception de façon à ce que les applications intégrées soient fonctionnelles. Ces changements doivent nécessairement prendre en compte les problèmes existants. Brièvement, les objectifs de l'intégration sont :</p>
+
+<ul>
+ <li><code>&lt;editor&gt;</code> devrait vous offrir un éditeur fonctionnel dans une application XUL</li>
+ <li>possibilité d'avoir plusieurs <code>&lt;editor&gt;</code>s par fenêtre XUL</li>
+ <li>possibilité d'intégrer une frame éditable dans une application native</li>
+ <li>Les conteneurs devraient être capables de fournir leur propre interface (barre d'outils, etc).</li>
+</ul>
+
+<p>Atteindre ces objectifs doit également permettre de résoudre les problèmes suivants, liés au compositeur :</p>
+
+<ul>
+ <li>il doit pouvoir traiter les documents de type frameset</li>
+ <li>il doit pouvoir traiter les documents contenant des <code>&lt;iframe&gt;</code>s</li>
+ <li>il ne doit pas dépendre d'une structure de document XUL donnée</li>
+</ul>
+
+<h3 id="Solutions_propos.C3.A9es" name="Solutions_propos.C3.A9es">Solutions proposées</h3>
+
+<h4 id="R.C3.A9gler_les_probl.C3.A8mes_d.27appartenance_de_l.27.C3.A9diteur" name="R.C3.A9gler_les_probl.C3.A8mes_d.27appartenance_de_l.27.C3.A9diteur">Régler les problèmes d'appartenance de l'éditeur</h4>
+
+<p>Comme décrit plus haut, les liens d'appartenance (racines) de l'éditeur doivent être changés de façon à ce qu'un éditeur se trouve au plus haut niveau du nsDocShell, plutôt que d'être accroché à l'objet <code>nsEditorBoxObject</code>. Il doit y avoir un docShell par <code>&lt;iframe&gt;</code> éditable. Cela implique :</p>
+
+<ul>
+ <li>Faire une nouvelle interface : <strong><code>nsIEditorFrame</code></strong> qui est exécutée par <code>nsDocShell</code> ou une classe liée. On doit pouvoir faire appel à l'une d'entres elle à partir de <code>nsIDocShell</code>, si l'appel réussit, il indique que la frame est éditable. <code>nsIEditorFrame</code> doit contenir des méthodes pour obtenir la session d'édition et faire certains traitements génériques liés à l'éditeur (probablement commun à l'édition HTML et texte brut). Une partie de <code>nsIEditorShell</code> devraient probablement passer dans cette interface. (Cela devrait être analogue à l'interface [<a class="external" href="http://lxr.mozilla.org/seamonkey/source/docshell/base/nsIWebNavigation.idl" rel="freelink">http://lxr.mozilla.org/seamonkey/sou...Navigation.idl</a> <code>nsIWebNavigation</code> utilisée par le navigateur.)</li>
+</ul>
+
+<ul>
+ <li>Quand on aura un éditeur par docShell, charger un document frameset ou une page avec une iframe dans le compositeur instanciera plus d'un éditeur de bas-niveau. Nous avons besoin d'un concept de "session d'édition" - pour avoir un seul document de haut-niveau éditable qui puisse incorporer plusieurs éditeurs. Cette interface s'appellerait <strong><code>nsI????</code></strong>. L'IU de haut-niveau et le code intégré doivent communiquer avec cette interface de session d'édition sans connaitre les éditeurs sous-jacents. La session d'édition enverra les commandes aux éditeurs individuels en fonction du focus et gérera l' annuler/rétablir entre eux.</li>
+ <li><em>La solution alternative</em> : Plutôt que d'avoir de multiples éditeurs, dans ce scénario on pourrait avoir un seul éditeur capable d'enregistrer et de restorer un état, de sorte qu'il puisse être transmis entre les différents sous-documents édités. Cette état doit inclure le document, la pile d'actions 'annuler' et l'état de la saisie (? typing state). La mise en place de la session d'édition permettra la permutation de l'état de l'éditeur en fonction du changement de focus ect.</li>
+</ul>
+
+<h4 id="Plus_d.27un_.C3.A9diteur_par_fen.C3.AAtre" name="Plus_d.27un_.C3.A9diteur_par_fen.C3.AAtre">Plus d'un éditeur par fenêtre</h4>
+
+<p>Les clients compositeurs basés sur Mozilla supposent tous qu'il n'y a qu'une balise <code>&lt;editor&gt;</code> par fenêtre. Ils ont tous besoin de fonctionner avec plusieurs éditeurs. Corriger cela nécessite des modifications JS de cette ordre :</p>
+
+<ul>
+ <li>Standardiser la façon dont les clients obtiennent l'editorShell (ou son remplacant, travail post-intégration) à partir de la fenêtre.</li>
+ <li>S'assurer que les changements de focus entre éditeurs mettent bien à jour la notion de session courante de la fenêtre. Si on continue à utiliser <code>window.editorShell</code>, il doit être mis à jour pour supporter les changements de focus.</li>
+ <li>S'assurer que chaque éditeur est correctement construit lors de la création de la fenêtre et supprimé lors de destruction de la fenêtre.</li>
+ <li>S'assurer que les tests de fermeture de fenêtre (par exemple appelé <code>window.tryToClose</code>) consultent convenablement l'état de chaques éditeurs.</li>
+</ul>
+
+<h4 id="Isoler_l.27.C3.A9diteur_de_l.27interface" name="Isoler_l.27.C3.A9diteur_de_l.27interface">Isoler l'éditeur de l'interface</h4>
+
+<p>Le compositeur doit ne rien connaitre de l'IU qui le contrôle. Le plan est d'isoler le compositeur de l'IU via une nouvelle interface que le conteneur implémente. N'importe quel IU qui est aujourd'hui créée par le compositeur doit passer par cette interface.</p>
+
+<ul>
+ <li>Utiliser une nouvelle interface, <code>nsIEditorUserInterface</code> pour diffuser la communication entre l'éditeur et l'IU. Un conteneur pourrait avoir besoin de l'implémenter pour avoir des menus et barres d'outils natives. Dans le compositeur, on aurait une implémentation en JS qui communique avec les commandes existantes et met à jour les noeuds XUL.</li>
+ <li>Corriger le code JS et C++ qui s'adresse explicitement à des éléments dans le document XUL pour passer par <code>nsIEditorUserInterface</code>.</li>
+</ul>
+
+<h3 id="Les_.C3.A9tapes_de_l.27int.C3.A9gration" name="Les_.C3.A9tapes_de_l.27int.C3.A9gration">Les étapes de l'intégration</h3>
+
+<p>Cette section tente de préparer un plan d'implémentation, dans le but de garder tout en état de marche étape après étape (? as the various steps are taken). Certaines de ces tâches peuvent être faite simultanément.</p>
+
+<ol>
+ <li>Décider comment implémenter <a href="#Probl.C3.A8me_d.27appartenance_de_l.27.C3.A9diteur">le support d'une session édition muti-éditeur</a></li>
+ <li>Éliminer <a href="#Isol.C3.A9_l.27.C3.A9diteur_de_l.27interface">les interdépendances spécifiques entre le compositeur et le document XUL</a>, via <code>nsIEditorUserInterface</code></li>
+ <li>Créer <a href="#Plus_d.27un_.C3.A9diteur_par_fen.C3.AAtre">un goulet d'étranglement pour communiquer avec l'éditeur qui a le focus; s'assurer que les changements de focus mettent bien à jour l'état</a></li>
+ <li>Faire du docShell,<a href="#R.C3.A9gler_les_probl.C3.A8mes_d.27appartenance_de_l.27.C3.A9diteur">le propriétaire de l'éditeur, créant <code>nsIEditorFrame</code></a></li>
+ <li>Créer l'API de la session d'édition qui s'occupera des collections d'éditeurs (ou rendre l'éditeur refocusable)</li>
+</ol>
+
+<h3 id="Questions_ouvertes" name="Questions_ouvertes">Questions ouvertes</h3>
+
+<h4 id="Ou_doit_se_trouver_la_logique_d.27ouverture_et_enregistrement_de_fichier_.3F" name="Ou_doit_se_trouver_la_logique_d.27ouverture_et_enregistrement_de_fichier_.3F">Ou doit se trouver la logique d'ouverture et enregistrement de fichier ?</h4>
+
+<p>Il semble que certains conteneurs voudront composer leur logique d'ouverture et enregistrement de fichier, d'autres non. Ou devrait se trouver cette logique ? Peut-elle être en JavaScript ? Bien sur, un conteneur doit pouvoir utiliser ses propres boîtes de dialogue Ouvrir et Enregistrer et communiquer avec le compositeur pour coordonner le processus d'ouverture et enregistrement.</p>
+
+<h5 id="R.C3.A9ponse_possible" name="R.C3.A9ponse_possible">Réponse possible</h5>
+
+<p>Le conteneur fournit les boîtes de dialogue Ouvrir et Enregistrer s'il le veut. Dans le compositeur, on peut adopter (? pose) ces boîtes de dialogue à partir de JS (? certains problèmes liés à <code>nsIFile</code> ont été résolu - once some <code>nsIFile</code> problems have been solved).</p>
+
+<h4 id="Toute_l.27IU_du_compositeur_doit-elle_.C3.AAtre_rempla.C3.A7able_.3F" name="Toute_l.27IU_du_compositeur_doit-elle_.C3.AAtre_rempla.C3.A7able_.3F">Toute l'IU du compositeur doit-elle être remplaçable ?</h4>
+
+<p>Une immense partie de l'IU du compositeur se trouve dans les différentes boîtes de dialogue pour l'édition des tableaux, liens, images etc. Doit-on donner la possibilité à un conteneur de remplacer tout cela par une IU native ?</p>
+
+<h5 id="R.C3.A9ponse_possible_2" name="R.C3.A9ponse_possible_2">Réponse possible</h5>
+
+<p>Les boîtes de dialogue utilisent les API de l'éditeur disponible pour obtenir et affecter les données, donc elles peuvent faire tout leur travail en passant par les API existantes. Si un intégrateur veut une IU entièrement native, il aura à coder ses propres boîtes de dialogue et logiques associées, mais les API devraient toujours leurs être accessibles. Il semble que ce ne soit pas une bonne solution.</p>
diff --git a/files/fr/mozilla/gecko/sdk_gecko/index.html b/files/fr/mozilla/gecko/sdk_gecko/index.html
new file mode 100644
index 0000000000..306fb0590f
--- /dev/null
+++ b/files/fr/mozilla/gecko/sdk_gecko/index.html
@@ -0,0 +1,61 @@
+---
+title: SDK Gecko
+slug: Mozilla/Gecko/SDK_Gecko
+tags:
+ - Développement_de_Mozilla
+ - Extensions
+ - Gecko
+translation_of: Mozilla/Gecko/Gecko_SDK
+---
+<p>
+</p>
+<h2 id="Aper.C3.A7u" name="Aper.C3.A7u"> Aperçu </h2>
+<p>Le SDK Gecko est un ensemble de fichiers <a href="fr/XPIDL">XPIDL</a>, d'entêtes et d'outils pour développer des composants <a href="fr/XPCOM">XPCOM</a> pouvant à leur tour être accéder depuis <a href="fr/XUL">XUL</a> grâce à <a href="fr/JavaScript">JavaScript</a>.
+</p><p>Notez que le développement de tels composants ne nécessite pas que vous possédiez la totalité des sources, par exemple de Firefox, puisque vous n'accédez pas à l'interface utilisateur depuis un composant. Comme le composant contient des fonctions basiques, il doit pouvoir fonctionner avec chaque application de la plateforme Mozilla. Il n'y a donc aucune raison de se baser sur une application particulière pour créer une fonctionnalité générique. C'est la raison pour laquelle a été conçu le SDK Gecko.
+</p><p>Il ne faut pas confondre le SDK Gecko avec <a href="fr/XULRunner">XULRunner</a>. Le SDK Gecko est une collection de fichiers d'entêtes et d'outils utilisée pour développer des composants XPCOM généraux afin d'ajouter des fonctionnalités à une plateforme existante, alors que XULRunner peut servir de support à l'éxécution d'applications autonomes ou embarquées basées sur la technologie Mozilla.
+</p>
+<h2 id="Obtenir_le_SDK" name="Obtenir_le_SDK"> Obtenir le SDK </h2>
+<p><b>Notez</b> qu'il n'est pas nécessaire de re-télécharger ou de re-compiler le SDK Gecko à chaque mise à jour de sécurité de Mozilla puisque le SDK Gecko ne subit pas de modifications lors de ces mises à jour.
+</p>
+<h3 id="T.C3.A9l.C3.A9chargement" name="T.C3.A9l.C3.A9chargement"> Téléchargement </h3>
+<p>Lorsque vous téléchargez le SDK Gecko, vous devez choisir la version correspondant à la plus ancienne version de Mozilla que vous ciblez. Autrement dit, vous ne devez pas télécharger le SDK Gecko 1.7 si vous souhaitez utiliser votre composant avec Mozilla 1.6. C'est un point important car la compatibilité binaire n'est assurée qu'avec les versions futures du moteur de rendu Gecko. Pour ce tutoriel, nous utiliserons la version 1.7 du SDK Gecko, ainsi notre composant sera compatible avec Mozilla 1.7 (et ses produits dérivés tels que Firefox 1.0 ou Netscape 7.2).
+</p>
+<table class="standard-table">
+<tbody><tr>
+<th>Lien de téléchargement
+</th><th>Gecko 1.7 (Firefox 1.0)
+</th><th>Gecko 1.8 (Firefox 1.5 et 2.0)
+</th></tr><tr>
+<th>Windows
+</th><td><a class="external" href="http://releases.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla1.7/gecko-sdk-i586-pc-msvc-1.7.zip">Download</a>
+</td><td><a class="external" href="http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/1.8.0.4/sdk/gecko-sdk-win32-msvc-1.8.0.4.zip">Download</a>
+</td></tr><tr>
+<th>Mac
+</th><td>N/A
+</td><td><a class="external" href="http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/1.8.0.4/sdk/gecko-sdk-mac-1.8.0.4.zip">Download</a>
+</td></tr><tr>
+<th>Linux i686
+</th><td><a class="external" href="http://releases.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla1.7/gecko-sdk-i686-pc-linux-gnu-1.7.tar.gz">Download</a>
+</td><td><a class="external" href="http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/1.8.0.4/sdk/gecko-sdk-i686-pc-linux-gnu-1.8.0.4.tar.bz2">Download</a>
+</td></tr></tbody></table>
+<p>Le SDK n'est pas officiellement disponible pour d'autres plateformes ; si vous en avez besoin, vous devrez probablement le compiler vous même.
+</p><p>Décompressez le fichier dans un répertoire de votre disque.
+</p>
+<h3 id="Compiler_le_SDK" name="Compiler_le_SDK"> Compiler le SDK </h3>
+<p>Pour compiler le SDK, vous devez compiler <a href="fr/XULRunner">XULRunner</a> (le SDK Gecko est compilé en même temps que XULRunner). Consultez la <a href="fr/Documentation_sur_la_compilation">documentation sur la compilation</a> pour plus de précisions.
+</p><p>Le SDK Gecko est généré dans <code>dist/sdk</code> dans votre répertoire objet. Vous pouvez ensuite copier ce répertoire vers un autre emplacement et supprimer l'arborescence XULRunner.
+</p>
+<h2 id="Contenu_du_SDK" name="Contenu_du_SDK"> Contenu du SDK </h2>
+<p>Le SDK contient les éléments suivants :
+</p>
+<ul><li> Fichiers IDL pour les interfaces gelées (dans <code>idl/</code>)
+</li><li> Fichiers d'entêtes pour les interfaces gelées, les fonctions XPCOM et les fonctions NSPR (dans <code>include/</code>)
+</li><li> Bibliothèques d'importations ou partagées (dans <code>lib/</code>)
+</li><li> Bibliothèques d'utilitaires statiques (dans <code>lib/</code>)
+</li><li> Divers outils (dans <code>bin/</code>)
+</li></ul>
+<p>Pour plus d'informations sur la manière de lier des composants XPCOM en utilisant la bibliothèque "glue" XPCOM, consultez <a href="fr/XPCOM_Glue">XPCOM Glue</a>.
+</p>
+<div class="noinclude">
+</div>
+{{ languages( { "en": "en/Gecko_SDK", "ja": "ja/Gecko_SDK", "zh-cn": "cn/Gecko_SDK" } ) }}