validate-website 1.5.0 → 1.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fd93ea8bbe188ac4cb33752c93a971f75106971e
4
- data.tar.gz: 9322f70f9cd7433c35d201f0d042117ff2974147
3
+ metadata.gz: c65e3f9388f034ec69209330e67dc5e9632fa823
4
+ data.tar.gz: 25359a6ab01c83a3efb2c37ee70eebfa113934a5
5
5
  SHA512:
6
- metadata.gz: e1d587ebf07f0f3f93ee4f7ebfd96112919c435eeddda17874c76423ee0e1500865a0afe0f5112c459cd900023445e818d347380800c306c0d398ed9369de710
7
- data.tar.gz: 818c8b7f437a4afb0482914fd799e0e0701013ee9b772db56abe3e3aa2259f08cba9444fff65df278b10a8e4144aa08021e38515419ccfebe832c717d22fa63b
6
+ metadata.gz: d2f71b8f527d92e028c003229b00db082af5db0a3ae687dc6f9cb317f0d266257c75a99a197990d8bd4256bce438a8122ddeba4dba4330df191ace341573cc75
7
+ data.tar.gz: a130c9cc8853e06a105ca4f3f26f2081442bbf8612a5a378825b8728dab13fabb5cb72a495aea7e2379d334b1c1d9af87cf2b8a0e4d0594282c1b449f2bd81e5
data/Rakefile CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'rake/testtask'
2
2
  require 'rubocop/rake_task'
3
3
 
4
- task default: [:test]
4
+ task default: [:test, :rubocop]
5
5
 
6
6
  # install asciidoc libxml2-utils xmlto docbook-xsl docbook-xml
7
7
  desc 'Update manpage from asciidoc file'
@@ -16,5 +16,6 @@ task spec: :test
16
16
 
17
17
  desc 'Execute rubocop'
18
18
  RuboCop::RakeTask.new(:rubocop) do |t|
19
- t.options = ['-D'] # display cop name
19
+ t.options = ['--display-cop-names', '--display-style-guide']
20
+ t.fail_on_error = true
20
21
  end
@@ -26,12 +26,17 @@ module ValidateWebsite
26
26
  EXIT_FAILURE_NOT_FOUND = 65
27
27
  EXIT_FAILURE_MARKUP_NOT_FOUND = 66
28
28
 
29
- def initialize(options = {}, validation_type)
29
+ # Initialize core ValidateWebsite class
30
+ # @example
31
+ # new({ site: "https://example.com/" }, :crawl)
32
+ # @param [Hash] options
33
+ # @return [NilClass]
34
+ def initialize(options, validation_type)
30
35
  @not_founds_count = 0
31
36
  @errors_count = 0
32
37
  @options = Parser.parse(options, validation_type).to_h
33
38
  @site = @options[:site]
34
- @service_url = @options[:html5_validator_service_url]
39
+ @service_url = @options[:html5_validator_service_url]
35
40
  Validator.html5_validator_service_url = @service_url if @service_url
36
41
  puts color(:note, "validating #{@site}\n", @options[:color])
37
42
  end
@@ -1,4 +1,4 @@
1
1
  # Version file for ValidateWebsite
2
2
  module ValidateWebsite
3
- VERSION = '1.5.0'.freeze
3
+ VERSION = '1.5.3'.freeze
4
4
  end
@@ -0,0 +1,10 @@
1
+ require File.expand_path('../test_helper', __FILE__)
2
+
3
+ describe ValidateWebsite::Core do
4
+ describe 'invalid options' do
5
+ it 'raise ArgumentError on wrong validation_type' do
6
+ proc { ValidateWebsite::Core.new({ color: false }, :fail) }
7
+ .must_raise ArgumentError
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,163 @@
1
+ require File.expand_path('../test_helper', __FILE__)
2
+
3
+ describe ValidateWebsite::Crawl do
4
+ before do
5
+ WebMock.reset!
6
+ stub_request(:get, /#{TEST_DOMAIN}/).to_return(status: 200)
7
+ _out, _err = capture_io do
8
+ @validate_website = ValidateWebsite::Crawl.new(color: false)
9
+ end
10
+ end
11
+
12
+ describe 'options' do
13
+ it 'can change user-agent' do
14
+ ua = %{Linux / Firefox 29: Mozilla/5.0 (X11; Linux x86_64; rv:29.0) \
15
+ Gecko/20100101 Firefox/29.0}
16
+ _out, _err = capture_io do
17
+ v = ValidateWebsite::Crawl.new(site: TEST_DOMAIN, user_agent: ua)
18
+ v.crawl
19
+ v.crawler.user_agent.must_equal ua
20
+ end
21
+ end
22
+
23
+ it 'can change html5 validator service url' do
24
+ s = 'http://localhost:8888/'
25
+ _out, _err = capture_io do
26
+ ValidateWebsite::Crawl.new(site: TEST_DOMAIN,
27
+ html5_validator_service_url: s)
28
+ ValidateWebsite::Validator.html5_validator_service_url.must_equal s
29
+ end
30
+ end
31
+ end
32
+
33
+ describe('cookies') do
34
+ it 'can set cookies' do
35
+ cookies = 'tz=Europe%2FBerlin; guid=ZcpBshbtStgl9VjwTofq'
36
+ _out, _err = capture_io do
37
+ v = ValidateWebsite::Crawl.new(site: TEST_DOMAIN, cookies: cookies)
38
+ v.crawl
39
+ v.crawler.cookies.cookies_for_host(v.host).must_equal v.default_cookies
40
+ end
41
+ end
42
+ end
43
+
44
+ describe('html') do
45
+ it 'extract url' do
46
+ name = 'xhtml1-strict'
47
+ file = File.join('test', 'data', "#{name}.html")
48
+ page = FakePage.new(name,
49
+ body: open(file).read,
50
+ content_type: 'text/html')
51
+ @validate_website.site = page.url
52
+ _out, _err = capture_io do
53
+ @validate_website.crawl
54
+ end
55
+ @validate_website.crawler.history.size.must_equal 5
56
+ end
57
+
58
+ it 'extract link' do
59
+ name = 'html4-strict'
60
+ file = File.join('test', 'data', "#{name}.html")
61
+ page = FakePage.new(name,
62
+ body: open(file).read,
63
+ content_type: 'text/html')
64
+ @validate_website.site = page.url
65
+ _out, _err = capture_io do
66
+ @validate_website.crawl
67
+ end
68
+ @validate_website.crawler.history.size.must_equal 98
69
+ end
70
+ end
71
+
72
+ describe('css') do
73
+ describe 'extract urls' do
74
+ it 'crawl css and extract url' do
75
+ page = FakePage.new('test.css',
76
+ body: '.t {background-image: url(pouet);}
77
+ .t {background-image: url(/image/pouet.png)}
78
+ .t {background-image: url(/image/pouet_42.png)}
79
+ .t {background-image: url(/image/pouet)}',
80
+ content_type: 'text/css')
81
+ @validate_website.site = page.url
82
+ _out, _err = capture_io do
83
+ @validate_website.crawl
84
+ end
85
+ @validate_website.crawler.history.size.must_equal 5
86
+ end
87
+
88
+ it 'should extract url with single quote' do
89
+ page = FakePage.new('test.css',
90
+ body: ".test {background-image: url('pouet');}",
91
+ content_type: 'text/css')
92
+ @validate_website.site = page.url
93
+ _out, _err = capture_io do
94
+ @validate_website.crawl
95
+ end
96
+ @validate_website.crawler.history.size.must_equal 2
97
+ end
98
+
99
+ it 'should extract url with double quote' do
100
+ page = FakePage.new('test.css',
101
+ body: ".test {background-image: url(\"pouet\");}",
102
+ content_type: 'text/css')
103
+ @validate_website.site = page.url
104
+ _out, _err = capture_io do
105
+ @validate_website.crawl
106
+ end
107
+ @validate_website.crawler.history.size.must_equal 2
108
+ end
109
+
110
+ it 'should extract url with params' do
111
+ page = FakePage.new('test.css',
112
+ body: '.test {background-image: url(/t?size=s);}',
113
+ content_type: 'text/css')
114
+ @validate_website.site = page.url
115
+ _out, _err = capture_io do
116
+ @validate_website.crawl
117
+ end
118
+ @validate_website.crawler.history.size.must_equal 2
119
+ end
120
+
121
+ it 'should not extract invalid urls' do
122
+ page = FakePage.new('test.css',
123
+ body: '.test {background-image: url(/test.png");}',
124
+ content_type: 'text/css')
125
+ @validate_website.site = page.url
126
+ _out, _err = capture_io do
127
+ @validate_website.crawl
128
+ end
129
+ @validate_website.crawler.history.size.must_equal 1
130
+ end
131
+ end
132
+
133
+ describe 'validate css syntax' do
134
+ before do
135
+ _out, _err = capture_io do
136
+ @validate_website = ValidateWebsite::Crawl.new(color: false,
137
+ css_syntax: true)
138
+ end
139
+ end
140
+ it 'should be invalid with bad urls' do
141
+ page = FakePage.new('test.css',
142
+ body: '.test {background-image: url(/test.png");}',
143
+ content_type: 'text/css')
144
+ @validate_website.site = page.url
145
+ _out, _err = capture_io do
146
+ @validate_website.crawl
147
+ end
148
+ @validate_website.errors_count.must_equal 1
149
+ end
150
+
151
+ it 'should be invalid with syntax error' do
152
+ page = FakePage.new('test.css',
153
+ body: ' /**/ .foo {} #{bar {}',
154
+ content_type: 'text/css')
155
+ @validate_website.site = page.url
156
+ _out, _err = capture_io do
157
+ @validate_website.crawl
158
+ end
159
+ @validate_website.errors_count.must_equal 1
160
+ end
161
+ end
162
+ end
163
+ end
@@ -0,0 +1,2 @@
1
+ .t { background-image: url(/image/42.png) }
2
+ /**/ .foo {} #{bar {}
@@ -0,0 +1,239 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
+ <html lang="fr">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5
+ <title>Debian -- Le système d'exploitation universel </title>
6
+ <link rev="made" href="mailto:webmaster@debian.org">
7
+ <link rel="shortcut icon" href="favicon.ico">
8
+ <meta name="Keywords" content="debian, GNU, linux, unix, open source, libre, DFSG">
9
+ <meta name="Description" content="Debian GNU/Linux est une distribution libre du système d'exploitation GNU/Linux. Elle est développée et mise à jour grâce au travail de nombreux utilisateurs qui offrent leur temps et leurs efforts.">
10
+ <meta name="Generator" content="WML 2.0.11 (19-Aug-2006)">
11
+ <meta name="Modified" content="2010-10-22 23:28:09">
12
+ <link rel="alternate" type="application/rss+xml"
13
+ title="Annonces de sécurité Debian (titres seulement)" href="security/dsa">
14
+ <link rel="alternate" type="application/rss+xml"
15
+ title="Annonces de sécurité Debian (résumés)" href="security/dsa-long">
16
+ <link href="./debian.css" rel="stylesheet" type="text/css">
17
+ <link href="./debian-fr.css" rel="stylesheet" type="text/css" media="all">
18
+ </head>
19
+ <body>
20
+ <div id="header">
21
+ <div id="upperheader">
22
+ <div id="logo">
23
+ <a href="./"><img src="./logos/openlogo-nd-50.png" width="50" height="61" alt=""></a>
24
+ <a href="./" rel="start"><img src="Pics/debian.png" width="179" height="61" alt="Projet Debian"></a>
25
+ </div> <!-- end logo -->
26
+ </div> <!-- end upperheader -->
27
+ <!--UdmComment-->
28
+ <div id="navbar">
29
+ <p class="hidecss"><a href="#inner">Sauter le menu</a></p>
30
+ <ul>
31
+ <li><a href="intro/about">À propos de Debian</a></li>
32
+ <li><a href="./News/">Actualités</a></li>
33
+ <li><a href="distrib/">Obtenir Debian</a></li>
34
+ <li><a href="./support">Assistance</a></li>
35
+ <li><a href="./devel/">Le&nbsp;coin&nbsp;du&nbsp;développeur</a></li>
36
+ <li><a href="./sitemap">Plan du site</a></li>
37
+ <li><a href="http://search.debian.org/">Recherche</a></li>
38
+ </ul>
39
+ </div> <!-- end navbar -->
40
+ </div> <!-- end header -->
41
+ <!--/UdmComment-->
42
+ <div id="outer">
43
+ <div id="inner">
44
+ <div id="leftcol">
45
+ <!--UdmComment-->
46
+ <ul>
47
+ <li><a href="intro/about">À&nbsp;propos&nbsp;de&nbsp;Debian</a>
48
+ <ul>
49
+ <li><a href="./social_contract">Notre&nbsp;contrat&nbsp;social</a></li>
50
+ <li><a href="./intro/free">Logiciel&nbsp;libre</a></li>
51
+ <li><a href="./partners/">Partenaires</a></li>
52
+ <li><a href="./donations">Dons</a></li>
53
+ <li><a href="./contact">Nous&nbsp;contacter</a></li>
54
+ </ul>
55
+ </li>
56
+ <li><a href="./News/">Actualités</a>
57
+ <ul>
58
+ <li><a href="./News/project/">Nouvelles du projet</a></li>
59
+ <li><a href="./events/">Événements</a></li>
60
+ </ul>
61
+ </li>
62
+ <li><a href="distrib/">Obtenir Debian</a>
63
+ <ul>
64
+ <li><a href="CD/vendors/">Vendeurs de CD</a></li>
65
+ <li><a href="CD/">Images ISO de CD</a></li>
66
+ <li><a href="distrib/netinst">Installation par le réseau</a></li>
67
+ <li><a href="distrib/pre-installed">Préinstallée</a></li>
68
+ </ul>
69
+ </li>
70
+ <li><a href="distrib/packages">Paquets&nbsp;Debian</a></li>
71
+ <li><a href="doc/">Documentation</a>
72
+ <ul>
73
+ <li><a href="./releases/">Dernière&nbsp;version</a></li>
74
+ <li><a href="./releases/stable/installmanual">Manuel&nbsp;d'installation</a></li>
75
+ <li><a href="doc/books">Livres&nbsp;Debian</a></li>
76
+ </ul>
77
+ </li>
78
+ <li><a href="./support">Assistance</a>
79
+ <ul>
80
+ <li><a href="./international/">Debian&nbsp;et&nbsp;l'international</a></li>
81
+ <li><a href="./security/">Informations&nbsp;sur&nbsp;la&nbsp;sécurité</a></li>
82
+ <li><a href="Bugs/">Rapports de bogues</a></li>
83
+ <li><a href="MailingLists/">Listes&nbsp;de&nbsp;diffusion</a></li>
84
+ <li><a href="http://lists.debian.org/">Archives&nbsp;des&nbsp;listes&nbsp;de&nbsp;diffusion</a></li>
85
+ <li><a href="./ports/">Portages/Architectures</a></li>
86
+ </ul>
87
+ </li>
88
+ <li><a href="misc/">Divers</a></li>
89
+ <li><a href="./intro/help">Aider Debian</a></li>
90
+ <li><a href="./devel/">Le&nbsp;coin&nbsp;du&nbsp;développeur</a></li>
91
+ <li><a href="./sitemap">Plan du site</a></li>
92
+ <li><a href="http://search.debian.org/">Recherche</a></li>
93
+ </ul>
94
+ <form method="get" action="http://search.debian.org/">
95
+ <p>
96
+ <input type="text" name="q" size="12">
97
+ </p>
98
+ </form>
99
+ <p>
100
+ <a href="./sponsor.html"><img src="sponsor_img.jpg" alt="Le site de notre sponsor" width="102" height="60"></a>
101
+ </p>
102
+ <p>
103
+ <a href="http://validator.w3.org/check/referer"><img src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!" width="88" height="31"></a>
104
+ </p>
105
+ <p>
106
+ <img src="http://jigsaw.w3.org/css-validator/images/vcss"
107
+ alt="Valid CSS!" width="88" height="31">
108
+ </p>
109
+ <!--/UdmComment-->
110
+ </div> <!-- end leftcol -->
111
+ <div id="maincol">
112
+ <a href="./News/2009/20090214"><img src="Pics/lennybanner_indexed.png" alt="Debian 5.0 - Le système d'exploitation universel" width="380" height="310" style="margin-right: 10px; float: left;"></a>
113
+ <h2>Qu'est-ce que Debian&nbsp;?</h2>
114
+ <p><a href="http://www.debian.org/">Debian</a> est un système d'exploitation
115
+ <a href="intro/free">libre</a> pour votre ordinateur. Un système d'exploitation
116
+ est la suite des programmes de base et des utilitaires qui permettent à un
117
+ ordinateur de fonctionner. Debian utilise le noyau
118
+ <a href="http://www.kernel.org/">Linux</a> (le c&oelig;ur d'un système d'exploitation),
119
+ mais la plupart des outils de base du système proviennent du
120
+ <a href="http://www.gnu.org/">projet GNU</a>&nbsp;; d'où le nom GNU/Linux.</p>
121
+ <p>Debian GNU/Linux est bien plus qu'un simple système d'exploitation&nbsp;:
122
+ il contient plus de 25000
123
+ <a href="distrib/packages">paquets</a>&nbsp;; les paquets sont des composants
124
+ logiciels précompilés conçus pour s'installer facilement sur votre machine.</p>
125
+ <p><a href="intro/about">Suite...</a>
126
+ <hr>
127
+ <h2>Pour commencer</h2>
128
+ <p>La <a href="releases/stable/">dernière version stable de Debian</a> est
129
+ la 5.0. La dernière mise à jour de cette version a été publiée
130
+ le 4 septembre 2010. Vous pouvez aussi accéder aux
131
+ <a href="releases/">autres versions disponibles de Debian</a>.</p>
132
+ <p>Si vous souhaitez commencer à utiliser Debian, vous pouvez facilement
133
+ <a href="distrib/">en obtenir une copie</a>, et ensuite suivre les
134
+ <a href="releases/stable/installmanual">instructions d'installation</a>
135
+ pour l'installer.</p>
136
+ <p>Si vous mettez à niveau votre système depuis une ancienne version vers
137
+ la dernière version stable publiée, veuillez lire les
138
+ <a href="releases/stable/releasenotes">notes de publication</a>
139
+ avant de commencer.</p>
140
+ <p>Pour obtenir de l'aide concernant l'utilisation ou la configuration
141
+ de Debian, consultez nos pages sur la <a href="doc/">documentation</a>
142
+ et l'<a href="support">assistance</a>.</p>
143
+ <p>Les utilisateurs qui parlent une langue autre que l'anglais peuvent
144
+ consulter la section sur l'<a href="international/">international</a>.</p>
145
+ <p>Les personnes ayant un autre système qu'Intel x86 peuvent
146
+ consulter la section sur les <a href="ports/">portages</a>.</p>
147
+ <hr>
148
+ <h2>Actualités</h2>
149
+ <p><tt>[19 octobre 2010]</tt> <strong><a href="News/2010/20101019">Debian sur le point d'accueillir officiellement les contributeurs non empaqueteurs</a></strong><br>
150
+ <tt>[7 octobre 2010]</tt> <strong><a href="News/2010/20101007">Debian à la rencontre de la <q>Society for Neuroscience</q></a></strong><br>
151
+ <tt>[8 septembre 2010]</tt> <strong><a href="News/2010/20100908">Paris Mini-DebConf 2010</a></strong><br>
152
+ <tt>[5 septembre 2010]</tt> <strong><a href="News/2010/20100905">Le service de rétroportages (« backports ») devient officiel</a></strong><br>
153
+ <tt>[4 septembre 2010]</tt> <strong><a href="News/2010/20100904">Publication de la mise à jour de Debian GNU/Linux 5.0.6</a></strong><br>
154
+ <tt>[3 septembre 2010]</tt> <strong><a href="News/2010/20100903">Conférence 2010 de la communauté Debian italienne - du 17 au 19 septembre à Pérouse, Italie</a></strong><br>
155
+ </p>
156
+ <p>Pour les communiqués plus anciens, consultez la suite de la page <a href="./News/">actualités</a>.
157
+ Si vous voulez recevoir un courrier (en anglais) à chaque fois qu'un communiqué paraît, abonnez-vous
158
+ à la <a href="MailingLists/debian-announce">liste de diffusion debian-announce</a>.</p>
159
+ <hr>
160
+ <h2>Annonces de sécurité</h2>
161
+ <p><tt>[22 octobre 2010]</tt> <strong><a href="security/2010/dsa-2122">DSA-2122 glibc</a></strong> - missing input sanitization <br>
162
+ <tt>[19 octobre 2010]</tt> <strong><a href="security/2010/dsa-2121">DSA-2121 typo3-src</a></strong> - several vulnerabilities <br>
163
+ <tt>[12 octobre 2010]</tt> <strong><a href="security/2010/dsa-2120">DSA-2120 postgresql-8.3</a></strong> - privilege escalation <br>
164
+ <tt>[12 octobre 2010]</tt> <strong><a href="security/2010/dsa-2119">DSA-2119 poppler</a></strong> - several vulnerabilities <br>
165
+ <tt>[8 octobre 2010]</tt> <strong><a href="security/2010/dsa-2118">DSA-2118 subversion</a></strong> - logic flaw <br>
166
+ <tt>[4 octobre 2010]</tt> <strong><a href="security/2010/dsa-2117">DSA-2117 apr-util</a></strong> - denial of service <br>
167
+ <tt>[4 octobre 2010]</tt> <strong><a href="security/2010/dsa-2116">DSA-2116 freetype</a></strong> - integer overflow <br>
168
+ <tt>[29 septembre 2010]</tt> <strong><a href="security/2010/dsa-2115">DSA-2115 moodle</a></strong> - several vulnerabilities <br>
169
+ <tt>[26 septembre 2010]</tt> <strong><a href="security/2010/dsa-2114">DSA-2114 git-core</a></strong> - buffer overflow <br>
170
+ <tt>[20 septembre 2010]</tt> <strong><a href="security/2010/dsa-2113">DSA-2113 drupal6</a></strong> - several vulnerabilities <br>
171
+ <tt>[20 septembre 2010]</tt> <strong><a href="security/2010/dsa-2112">DSA-2112 bzip2</a></strong> - integer overflow <br>
172
+ </p>
173
+ <p>Pour les annonces de sécurité, consultez la <a href="./security/">
174
+ page sécurité</a>.
175
+ Si vous voulez recevoir les annonces de sécurité (en anglais) dès leur parution, abonnez-vous
176
+ à la <a href="http://lists.debian.org/debian-security-announce/">liste de diffusion debian-security-announce</a>.</p>
177
+ </div> <!-- end maincol -->
178
+ <div class="clr"></div>
179
+ </div> <!-- end inner -->
180
+ <div id="footer">
181
+ <hr class="hidecss">
182
+ <!--UdmComment-->
183
+ <p>
184
+ Cette page est aussi disponible dans les langues suivantes&nbsp;:
185
+ </p><p class="navpara">
186
+ <a href="index.ar.html" title="arabe" hreflang="ar" lang="ar" rel="alternate">&#1593;&#1585;&#1576;&#1610;&#1577;&nbsp;(Arabiya)</a>
187
+ <a href="index.bg.html" title="bulgare" hreflang="bg" lang="bg" rel="alternate">&#1041;&#1098;&#1083;&#1075;&#1072;&#1088;&#1089;&#1082;&#1080;&nbsp;(B&#601;lgarski)</a>
188
+ <a href="index.ca.html" title="catalan" hreflang="ca" lang="ca" rel="alternate">catal&agrave;</a>
189
+ <a href="index.cs.html" title="tchèque" hreflang="cs" lang="cs" rel="alternate">&#269;esky</a>
190
+ <a href="index.da.html" title="danois" hreflang="da" lang="da" rel="alternate">dansk</a>
191
+ <a href="index.de.html" title="allemand" hreflang="de" lang="de" rel="alternate">Deutsch</a>
192
+ <a href="index.el.html" title="grec" hreflang="el" lang="el" rel="alternate">&#917;&#955;&#955;&#951;&#957;&#953;&#954;&#940;&nbsp;(Ellinika)</a>
193
+ <a href="index.en.html" title="anglais" hreflang="en" lang="en" rel="alternate">English</a>
194
+ <a href="index.es.html" title="espagnol" hreflang="es" lang="es" rel="alternate">espa&ntilde;ol</a>
195
+ <a href="index.eo.html" title="espéranto" hreflang="eo" lang="eo" rel="alternate">Esperanto</a>
196
+ <a href="index.ko.html" title="coréen" hreflang="ko" lang="ko" rel="alternate">&#54620;&#44397;&#50612;&nbsp;(Hangul)</a>
197
+ <a href="index.hy.html" title="arménien" hreflang="hy" lang="hy" rel="alternate">&#1344;&#1377;&#1397;&#1381;&#1408;&#1381;&#1398;&nbsp;(hayeren)</a>
198
+ <a href="index.hr.html" title="croate" hreflang="hr" lang="hr" rel="alternate">hrvatski</a>
199
+ <a href="index.it.html" title="italien" hreflang="it" lang="it" rel="alternate">Italiano</a>
200
+ <a href="index.he.html" title="hébreu" hreflang="he" lang="he" rel="alternate">&#1506;&#1489;&#1512;&#1497;&#1514;&nbsp;(ivrit)</a>
201
+ <a href="index.lt.html" title="lituanien" hreflang="lt" lang="lt" rel="alternate">Lietuvi&#371;</a>
202
+ <a href="index.hu.html" title="hongrois" hreflang="hu" lang="hu" rel="alternate">magyar</a>
203
+ <a href="index.nl.html" title="néerlandais" hreflang="nl" lang="nl" rel="alternate">Nederlands</a>
204
+ <a href="index.ja.html" title="japonais" hreflang="ja" lang="ja" rel="alternate">&#26085;&#26412;&#35486;&nbsp;(Nihongo)</a>
205
+ <a href="index.nb.html" title="norvégien" hreflang="nb" lang="nb" rel="alternate">norsk&nbsp;(bokm&aring;l)</a>
206
+ <a href="index.pl.html" title="polonais" hreflang="pl" lang="pl" rel="alternate">polski</a>
207
+ <a href="index.pt.html" title="portugais" hreflang="pt" lang="pt" rel="alternate">Portugu&ecirc;s</a>
208
+ <a href="index.ro.html" title="roumain" hreflang="ro" lang="ro" rel="alternate">rom&acirc;n&#259;</a>
209
+ <a href="index.ru.html" title="russe" hreflang="ru" lang="ru" rel="alternate">&#1056;&#1091;&#1089;&#1089;&#1082;&#1080;&#1081;&nbsp;(Russkij)</a>
210
+ <a href="index.sk.html" title="slovaque" hreflang="sk" lang="sk" rel="alternate">slovensky</a>
211
+ <a href="index.fi.html" title="finnois" hreflang="fi" lang="fi" rel="alternate">suomi</a>
212
+ <a href="index.sv.html" title="suédois" hreflang="sv" lang="sv" rel="alternate">svenska</a>
213
+ <a href="index.ta.html" title="tamoul" hreflang="ta" lang="ta" rel="alternate">&#2980;&#2990;&#3007;&#2996;&#3021;&nbsp;(Tamil)</a>
214
+ <a href="index.tr.html" title="turc" hreflang="tr" lang="tr" rel="alternate">T&uuml;rk&ccedil;e</a>
215
+ <a href="index.uk.html" title="ukrainien" hreflang="uk" lang="uk" rel="alternate">&#1091;&#1082;&#1088;&#1072;&#1111;&#1085;&#1089;&#1100;&#1082;&#1072;&nbsp;(ukrajins'ka)</a>
216
+ <a href="index.zh-cn.html" title="chinois (Chine)" hreflang="zh-CN" lang="zh-CN" rel="alternate">&#20013;&#25991;(&#31616;)</a>
217
+ <a href="index.zh-hk.html" title="chinois (Hong Kong)" hreflang="zh-HK" lang="zh-HK" rel="alternate">&#20013;&#25991;(HK)</a>
218
+ <a href="index.zh-tw.html" title="chinois (Taïwan)" hreflang="zh-TW" lang="zh-TW" rel="alternate">&#20013;&#25991;(&#32321;)</a>
219
+ </p><p>
220
+ Comment configurer la <a href="./intro/cn">langue par défaut du document</a>
221
+ </p>
222
+ <!--/UdmComment-->
223
+ <hr>
224
+ <!--UdmComment-->
225
+ <div id="fineprint">
226
+ <p>Pour signaler un problème sur le site web, envoyez un courriel en anglais à <a href="mailto:debian-www@lists.debian.org">debian-www@lists.debian.org</a> ou en français à <a href="mailto:debian-l10n-french@lists.debian.org">debian-l10n-french@lists.debian.org</a>. Pour obtenir d'autres informations, référez-vous à la <a href="./contact">page contact</a> de Debian.</p>
227
+ <p>
228
+ Dernière modification&nbsp;: vendredi 22 octobre 2010 23:28:09 UTC
229
+ <br>
230
+ Copyright &copy; 1997-2010
231
+ <a href="http://www.spi-inc.org/">SPI</a>; voir <a href="./license" rel="copyright">les termes de la licence</a>.<br>
232
+ Debian est une <a href="./trademark">marque déposée</a> de Software in the Public Interest, Inc.
233
+ </p>
234
+ </div>
235
+ <!--/UdmComment-->
236
+ </div> <!-- end footer -->
237
+ </div> <!-- end outer -->
238
+ </body>
239
+ </html>