This file is indexed.

/usr/share/doc/HOWTO/fr-html/Francophones-HOWTO.html is in doc-linux-fr-html 2013.01-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
<title>Le Francophones-HOWTO : Linux &amp; la langue
fran&ccedil;aise</title>
<meta name="GENERATOR" content=
"Modular DocBook HTML Stylesheet Version 1.79">
</head>
<body class="ARTICLE" bgcolor="#FFFFFF" text="#000000" link=
"#0000FF" vlink="#840084" alink="#0000FF">
<div class="ARTICLE">
<div class="TITLEPAGE">
<h1 class="TITLE"><a name="AEN2" id="AEN2">Le Francophones-HOWTO :
Linux &amp; la langue fran&ccedil;aise</a></h1>
<h3 class="AUTHOR"><a name="AEN4" id="AEN4">&Eacute;crit par
Guylhem Aznar, &lt;guylhem(&agrave;)metalab.unc.edu&gt;</a></h3>
<p class="PUBDATE">v3.2.2 ; D&eacute;cembre 2001<br></p>
<div>
<div class="ABSTRACT"><a name="AEN8" id="AEN8"></a>
<p>Copyright &copy; 1997, 1998, 1999, Guylhem Aznar ; librement
distribuable selon les termes du GNU Free Documentation License,
<a href="http://www.fsf.org/licenses/fdl.html" target=
"_top">http://www.fsf.org/licenses/fdl.html</a>. Toutes les marques
cit&eacute;es appartiennent &agrave; leurs propri&eacute;taires
respectifs.</p>
</div>
</div>
<hr></div>
<div class="SECT1">
<h2 class="SECT1"><a name="AEN11" id=
"AEN11">Pr&eacute;sentation</a></h2>
<div class="SECT2">
<h3 class="SECT2"><a name="AEN13" id="AEN13">Introduction</a></h3>
<p>Ce document a &eacute;t&eacute; r&eacute;dig&eacute; pour aider
&agrave; configurer un ordinateur dot&eacute; du syst&egrave;me
d'exploitation Linux pour des utilisateurs francophones.</p>
<p>Il y est expliqu&eacute; par exemple comment configurer
p&eacute;riph&eacute;riques et applications afin de prendre en
compte les particularit&eacute;s et les sp&eacute;cificit&eacute;s
de notre langue...</p>
<p>Toutefois, ce document ne traite pas de l'installation du
syst&egrave;me d'exploitation Linux ; il est implicitement
suppos&eacute; que vous ayez correctement install&eacute; une
distribution de Linux, RedHat, Debian ou Suse, cette liste
n'&eacute;tant pas exhaustive, et que vous vous appr&ecirc;tiez
maintenant &agrave; mieux la configurer ; veuillez donc vous
r&eacute;f&eacute;rer &agrave; d'autres HOWTOs pour
l'installation.</p>
<p>Les adresses &eacute;lectroniques ont &eacute;t&eacute;
volontairement supprim&eacute;es ou modifi&eacute;es en
rempla&ccedil;ant les &laquo; a enroul&eacute;s &raquo; par des
&laquo; (&agrave;) &raquo; afin d'&eacute;viter les publipostages
tr&egrave;s g&ecirc;nants.</p>
<p>Si quelque terme employ&eacute; vous semble un peu obscur, je
vous invite &agrave; vous reporter au lexique (&laquo; Vocabulaire
: un petit lexique &raquo;), expliquant certains mots tels 8 bits,
AZERTY ou QWERTY, qui sont employ&eacute;s tout au long de ce
document.</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN20" id="AEN20">Fichiers
utilis&eacute;s dans ce HOWTO</a></h3>
<p>Tous les fichiers cit&eacute;s dans ce HOWTO, sont disponibles
sous licence GPL sur <a href="http://metalab.unc.edu/guylhem/"
target="_top">ma page</a></p>
<p>Je vous recommande de t&eacute;l&eacute;charger tous ces
fichiers pour les utiliser selon les exemples propos&eacute;s.</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN25" id="AEN25">Les Fran&ccedil;ais ne
sont pas les seuls francophones !</a></h3>
<div class="SECT3">
<h4 class="SECT3"><a name="AEN27" id="AEN27">a) Diff&eacute;rentes
versions</a></h4>
<p>Pour chaque manipulation d&eacute;pendant du pays
concern&eacute;, un certain nombre de versions peuvent &ecirc;tre
propos&eacute;es :</p>
<p></p>
<ul>
<li>
<p>une canadienne normalis&eacute;e (cn)</p>
</li>
<li>
<p>une belge wallonne (be)</p>
</li>
<li>
<p>une fran&ccedil;aise (fr)</p>
</li>
<li>
<p>une qu&eacute;b&eacute;coise (qc)</p>
</li>
<li>
<p>une suisse romande (sf)</p>
</li>
<li>
<p>une &eacute;tats-unienne internationale (usx)</p>
</li>
</ul>
</div>
<div class="SECT3">
<hr>
<h4 class="SECT3"><a name="AEN44" id="AEN44">b) Les
&eacute;tats-uniens : raccourcis claviers</a></h4>
<p>La version &eacute;tats-unienne internationale permet &agrave;
tous les francophones utilisant un clavier &laquo; 7 bits &raquo;
aussi nomm&eacute; &laquo; QWERTY &raquo; de
b&eacute;n&eacute;ficier de l'&eacute;tendue des caract&egrave;res
8 bits.</p>
<p>Est disponible aussi une version pour ceux qui utilisent un
clavier &laquo; Happy Hacking &raquo;.</p>
</div>
<div class="SECT3">
<hr>
<h4 class="SECT3"><a name="AEN48" id="AEN48">c) Le Luxembourg :
comme la France</a></h4>
<p>Le Grand Duch&eacute; du Luxembourg utilisant les conventions
fran&ccedil;aises, j'invite les lecteurs luxembourgeois &agrave; se
reporter aux exemples fran&ccedil;ais.</p>
</div>
<div class="SECT3">
<hr>
<h4 class="SECT3"><a name="AEN51" id="AEN51">d) Le Canada : 3
claviers</a></h4>
<p>Il est classique de parler des claviers &laquo; canadien
international &raquo;, surtout destin&eacute;s aux anglophones (qui
leur pr&eacute;f&egrave;rent toutefois les claviers QWERTY
standard) et les claviers &laquo; canadien fran&ccedil;ais &raquo;,
aux lettres accentu&eacute;es.</p>
<p>Mais, de nouveaux claviers dits &laquo; canadiens
normalis&eacute;s &raquo; ont fait leur apparition r&eacute;cemment
pour fusionner les mod&egrave;les &laquo; canadien international
&raquo;, non concern&eacute; par le cadre du Francophones HOWTO, et
&laquo; canadien fran&ccedil;ais &raquo;.</p>
<p>Ces nouveaux claviers r&eacute;pondent aux normes CAN/CSA
Z243.200-92 et ISO 9995-7 ; ils sont pr&eacute;vus pour &ecirc;tre
utilis&eacute;s dans n'importe quelle langue, en rempla&ccedil;ant
par exemple les intitul&eacute;s des touches par des pictogrammes :
&laquo; Del &raquo;, en anglais, qui se traduisait par &laquo;
Suppr &raquo; en fran&ccedil;ais devient ainsi trois barres
obliques fines orient&eacute;es sud-ouest/nord-est.</p>
<p>Plus d'explications sont disponibles sur le <a href=
"%20http://www.olf.gouv.qc.ca/technologies/technopages/claviernorm.html"
target="_top">site de l'Office de la Langue
Fran&ccedil;aise</a>.</p>
<p>Toutefois je n'ai pas pu r&eacute;ussir &agrave; me procurer un
tel clavier ; mes fichiers de configuration sont donc uniquement
bas&eacute;s sur les (<a href=
"http://www.olf.gouv.qc.ca/images/clavier.gif" target=
"_top">illustrations</a>) et les normes th&eacute;oriques, et non
les normes pratiques.</p>
<p>Par exemple, si j'ai compris que la touche &laquo; Control
&raquo; de droite est utilis&eacute;e comme une &laquo; AltGr
&raquo; mais sert &agrave; obtenir encore d'autres
caract&egrave;res, je n'ai aucune id&eacute;e du comportement de
ces touches lorsque seule l'autre a une s&eacute;rigraphie
pr&eacute;vue...</p>
<p>Si on peut m'envoyer un tel clavier, et surtout son pilote, je
promets de mettre les fichiers de configuration &agrave; jour
:-)</p>
</div>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN62" id="AEN62">Attention</a></h3>
<div class="SECT3">
<h4 class="SECT3"><a name="AEN64" id="AEN64">a) ROOT</a></h4>
<p>Certaines manipulations recommand&eacute;es par ce document ne
peuvent &ecirc;tre effectu&eacute;es que sous le compte
privil&eacute;gi&eacute; &laquo; root &raquo; ; la plus grande
prudence est alors de rigueur car toute action inad&eacute;quate
peut mettre en p&eacute;ril le contenu des disques.</p>
<p>Sauvegarder les fichiers existants, par exemple en les copiant
sous le m&ecirc;me nom suivi du pr&eacute;fixe .old, avant de les
modifier ou remplacer.</p>
</div>
<div class="SECT3">
<hr>
<h4 class="SECT3"><a name="AEN68" id="AEN68">b) CHERCHER</a></h4>
<p>Le paquetage GNU nomm&eacute; <font color="red">find</font>
offre un programme appel&eacute; <tt class="LITERAL">locate</tt>,
gr&acirc;ce auquel l'utilisateur peut retrouver le nom complet,
chemin de r&eacute;pertoires, d'un fichier dont il ne conna&icirc;t
que le nom.</p>
<p>Certaines distributions Linux fournissent cela en
/usr/bin/locate.</p>
<p>En tant que root, lancer <tt class="LITERAL">updatedb</tt>
invoque un <tt class="LITERAL">find&nbsp;/</tt> sur les disques
mont&eacute;s et place les noms de tous les fichiers sous forme
hash dans /usr/lib/locate/find.codes (ou
/var/lib/slocate/slocate.db pour slocate, utilis&eacute; dans les
distributions modernes.)</p>
<p><tt class="LITERAL">locate</tt> permet ensuite de localiser l'un
d'eux :</p>
<p></p>
<pre class="SCREEN">
       (guylhem@victis:guylhem)$ locate noms_des_fichiers_&agrave;_retrouver
</pre></div>
</div>
</div>
<div class="SECT1">
<hr>
<h2 class="SECT1"><a name="AEN81" id="AEN81">Les
probl&egrave;mes</a></h2>
<div class="SECT2">
<h3 class="SECT2"><a name="AEN83" id=
"AEN83">Pr&eacute;sentation</a></h3>
<p>Le probl&egrave;me de tout utilisateur francophone apr&egrave;s
l'installation de Linux est de lui faire comprendre qu'il utilise
des normes diff&eacute;rentes des standards par d&eacute;faut
&eacute;tats-uniens..</p>
<p>Cela a des cons&eacute;quences sur :</p>
<p></p>
<ul>
<li>
<p>la police de caract&egrave;res donc les caract&egrave;res
sp&eacute;ciaux que l'on utilise, accentu&eacute;s comme &Eacute;
&Egrave; &Agrave; &Ccedil; ou bien ligatur&eacute;s comme &AElig; ,
voire &laquo; e dans l'o &raquo; qui vient d'appara&icirc;tre sous
Linux gr&acirc;ce &agrave; la norme ISO-8859-15 aussi nomm&eacute;e
latin-9</p>
</li>
<li>
<p>la correspondance entre la s&eacute;rigraphie des cabochons ou
&laquo; touches &raquo; du clavier sur lesquelles vous appuyez, et
les codes que Linux renvoie, celui-ci supposant un clavier QWERTY
&eacute;tats-unien par d&eacute;faut</p>
</li>
<li>
<p>le format de page pris en charge par les programmes que vous
utilisez pour imprimer, diff&eacute;rent entre les
&Eacute;tats-Unis; (14&times;8,5 pouces pour du papier dit
l&eacute;gal) et l'Europe (29,7&times;21 cm pour des feuilles
a4)</p>
</li>
<li>
<p>le format des dates et de l'heure, la position des jours et des
mois &eacute;tant variable selon les r&eacute;gions de la
francophonie</p>
</li>
<li>
<p>le format de la monnaie, aussi variable selon les
francophones</p>
</li>
<li>
<p>la langue utilis&eacute;e pour les messages d'erreur</p>
</li>
</ul>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN101" id="AEN101">Solutions</a></h3>
<p>Tout est pr&eacute;configur&eacute; pour un &eacute;tats-unien :
bien que ceux-ci ne repr&eacute;sentent pas la majorit&eacute; de
la population mondiale, ils ont &eacute;t&eacute;
pr&eacute;curseurs en informatique.</p>
<p>Il faut donc se faire reconna&icirc;tre comme une &laquo;
exception &raquo; par les diff&eacute;rents programmes, par des
options ou des variables &agrave; exporter voire dans les pires des
cas une modification du code source suivie d'une recompilation.</p>
<p>Heureusement, la philosophie GNU de Linux rend le syst&egrave;me
tr&egrave;s ouvert &agrave; des modifications de toutes sortes et
comme vous allez le d&eacute;couvrir au fil de ce document, et il
est assez simple d'obtenir un r&eacute;sultat tr&egrave;s
correct.</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN106" id="AEN106">Aider</a></h3>
<p>Pour le moment, le futur de l'internationalisation de Linux
porte sur la traduction des messages d'erreur, des programmes comme
KDE ou GNOME, des pages de manuel et de la documentation, alors si
vous vous sentez l'&acirc;me d'un traducteur, n'h&eacute;sitez pas
&agrave; contacter l'&eacute;quipe de traduction des HOWTOs ; pour
cela, adressez-vous &agrave; &Eacute;ric Dumas
&lt;dumas(&agrave;)freenix.fr&gt; ou
&lt;dumas(&agrave;)linux.eu.org&gt;.</p>
</div>
</div>
<div class="SECT1">
<hr>
<h2 class="SECT1"><a name="AEN109" id="AEN109">Le vocabulaire :
petit lexique</a></h2>
<p>Tout d'abord, un mot sur le vocabulaire employ&eacute; :</p>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN112" id="AEN112">8 bits</a></h3>
<p>Des caract&egrave;res sont dits &laquo; 8 bits &raquo; s'ils
correspondent &agrave; des accents ou &agrave; des signes
sp&eacute;ciaux comme &laquo; &sect; &raquo;, non inclus dans le
standard <tt class="LITERAL">ASCII</tt> &laquo; 7 bits &raquo;.</p>
<p>Ce standard, sans accents ni caract&egrave;res sp&eacute;ciaux,
correspond aux 128 (2&circ;7) premiers caract&egrave;res des 256
(2&circ;8), de 0 &agrave; 255.</p>
<p>Pour des raisons historiques (place disponible, inutilit&eacute;
pour les &eacute;tats uniens) seuls les 128 (2&circ;7) premiers
caract&egrave;res ont &eacute;t&eacute; normalis&eacute;s par
l'ASCII : par exemple le A qui est le 65e caract&egrave;re de la
table ASCII s'&eacute;crit 0100 0001 en notation binaire.</p>
<p>Pour les caract&egrave;res situ&eacute;s hors de la norme ASCII,
diff&eacute;rentes &laquo; normes &raquo; ou &laquo; standards
&raquo; incompatibles, comme l'Unicode, l'iso-8859, le latin, le cp
(...) fixent ces correspondances.</p>
<p>Par exemple, dans le standard ASCII &eacute;tendu par
l'iso-8859-1, le 224&egrave;me caract&egrave;re &eacute;quivalent
not&eacute; &laquo; eb &raquo; en hexad&eacute;cimal correspond
&agrave; &laquo; &euml; &raquo;.</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN120" id="AEN120">La police de
caract&egrave;res</a></h3>
<p>Une police de caract&egrave;res est une correspondance entre des
codes informatiques et des caract&egrave;res
(alphanum&eacute;riques...) affichables par l'ordinateur.</p>
<p>La police de caract&egrave;res est l'ensemble des
repr&eacute;sentations graphiques des caract&egrave;res d'un
standard.</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN124" id="AEN124">Les polices de
caract&egrave;res</a></h3>
<p>Il existe plusieurs polices de caract&egrave;res 8 bits pouvant
r&eacute;pondre au besoins des francophones.</p>
<p>Je vous recommande de lire &agrave; ce sujet l'excellent site de
Roman Czyborra qui a fait une th&egrave;se sur ce sujet et qui vous
donnera une <a href="http://czyborra.com/charsets/iso8859.html"
target="_top">explication fort d&eacute;taill&eacute;e</a></p>
<p>Pour r&eacute;sumer, il est n&eacute;cessaire de choisir une
police de caract&egrave;res pour que tous les caract&egrave;res
fran&ccedil;ais soient disponibles.</p>
<p>Voici la liste des polices dites &laquo; ISO 8859 &raquo;, mais
attention, il existe leurs &eacute;quivalents en &laquo; code page
&raquo; pour windows (comme cp1252).</p>
<p></p>
<ul>
<li>
<p>ISO 8859-1 : latin 1 : langues d'Europe de l'ouest, Afrikaans,
Swahili. Le Swahili, n'utilise aucun caract&egrave;re
accentu&eacute; (comme l'Anglais, le Malais et
l'Indon&eacute;sien), donc n'importe quel version fait l'affaire.
Pour l'Afrikaans, je ne sais plus exactement quel &eacute;tait le
choix initial (c'est-&agrave;-dire o&ugrave; avait
&eacute;t&eacute; rang&eacute; le 'n au d&eacute;part), mais il ne
me semble pas que ce soit dans Latin 1. Dans la pratique, bien
s&ucirc;r, les Afrikaaner utilisent Latin 1 ; la m&ecirc;me chose
se passe pour un certain nombre des cas qui suivent.</p>
</li>
<li>
<p>ISO 8859-2 : latin 2 : langues d'Europe centrale et orientale.
Dans les faits : Polonais, Tch&egrave;que, Slovaque,
Slov&egrave;ne, Croate, Hongrois, Roumain, probablement aussi le
Sorbe ou Sorabe (Wende en allemand). Officiellement, je crois que
l'Albanais s'&eacute;crit aussi en Latin-2, mais comme dans les
faits c'est identique au Latin 1... Il y a un probl&egrave;me pour
le Roumain, car le Latin 2 contient formellement les
caract&egrave;res avec une c&eacute;dille, quand en roumain on
utilise une virgule souscrite.</p>
</li>
<li>
<p>ISO 8859-3 : latin 3 : Esp&eacute;ranto et Maltais.
Initialement, c'&eacute;tait pr&eacute;vu pour les langues d'Europe
du Sud, y compris le Turc, les langues d'Espagne (donc Catalan,
Basque), le Fran&ccedil;ais. Mais dans la pratique, c'est
limit&eacute; &agrave; ces deux langues.</p>
</li>
<li>
<p>ISO 8859-4 : latin 4 : langues baltes (incomplet). Pas
utilis&eacute; dans la pratique, remplac&eacute; par Latin 7
(iso-8859-13), ou plut&ocirc;t en pratique la codepage 1257
Windows. Pour l'Este ou Estonien, on peut aussi utiliser Latin
9.</p>
</li>
<li>
<p>ISO 8859-9 : latin 5 (comme latin 1, moins l'Islandais, plus le
Turc). Usage : le Turc et peut-&ecirc;tre l'Az&eacute;ri, mais il
manque le schwa, un &laquo; e &raquo; renvers&eacute;. Codage
officiel aux Pays-Bas du fait des Turcs qui y habitent.</p>
</li>
<li>
<p>ISO 8859-10 : latin 6 : langues nordiques, sauf le Lapon Skolt.
Pas utilis&eacute; dans la pratique : ne servirait que pour les
langues sames (ou lapones), mais il manque des caract&egrave;res,
et le public concern&eacute; est de toute mani&egrave;re assez
limit&eacute;.</p>
</li>
<li>
<p>ISO 8859-11 : Thai. Pas encore officiellement adopt&eacute;.</p>
</li>
<li>
<p>ISO 8859-12 : Indien (n'existe pas encore). Pr&eacute;vu pour le
devanagari, pour &eacute;crire l'Hindi, la langue principale de
l'Inde, et aussi un grand nombre d'autres langues indiennes, dont
le Sanskrit.</p>
</li>
<li>
<p>ISO 8859-13 : latin 7 : langues baltes. Plus exactement : couvre
les langues du pourtour de la mer Baltique, donc aussi le Polonais,
l'Allemand et les langues de scandinavie. Mais dans la pratique il
est r&eacute;duit en utilisation aux langues baltes et &agrave;
l'Este ou Estonien.</p>
</li>
<li>
<p>ISO 8859-14 : latin 8 : langues celtes. Pour le Breton, le
Ga&eacute;lique et les dialectes parl&eacute;es au Pays de Galles
et en Irlande.</p>
</li>
<li>
<p>ISO 8859-15 : latin 9 : comme latin 1, en y comblant quelques
manques. Pour le Fran&ccedil;ais, le Finnois (en concurrence avec
Latin 1) et l'Este ou Estonien (en concurrence avec Latin 7).</p>
</li>
</ul>
<p>De cette longue liste, il convient de ne retenir que :</p>
<p></p>
<ul>
<li>
<p>ISO 8859-1 latin 1 : police ouest-europ&eacute;enne
utilis&eacute;e par la majorit&eacute; des syst&egrave;mes UNIX,
elle permet de disposer de tous les caract&egrave;res
Fran&ccedil;ais sauf les &laquo; o e li&eacute;s &raquo;, l'euro et
l'y tr&eacute;ma majuscule</p>
</li>
<li>
<p>cp850 : &eacute;quivalent sous DOS de cette police, mais
incompatible : il faut utiliser un outil de traduction de fichiers
tel GNU recode.</p>
</li>
<li>
<p>ISO 8859-15 latin 9 : police de l'union europ&eacute;enne, il
s'agit d'une version r&eacute;vis&eacute;e de l'ISO 8859-1 latin 1
pour inclure tous les caract&egrave;res des pays europ&eacute;ens ;
ainsi on y retrouve les caract&egrave;res Fran&ccedil;ais manquant,
l'euro, et des caract&egrave;res finlandais manquants.</p>
</li>
<li>
<p>latin 0 : l'ISO 8859-15 latin 9 est souvent incorrectement
abr&eacute;g&eacute;e en latin0, qui correspondait au nom du
projet, de par son ambition &agrave; remplacer le latin 1 un jour.
Je vous renvoie au <a href="http://www.iso.ch/catf/d29505.html"
target="_top">site de l'ISO</a> et &agrave; la <a href=
"http://www.indigo.ie/egt/standards/iso8859/8859-15-fr.pdf" target=
"_top">documentation compl&egrave;te de ce standard</a></p>
</li>
<li>
<p>cp1252 : &eacute;quivalent sous Windows de cette police, aussi
incompatible, qui apporte les m&ecirc;mes caract&egrave;res
manquants, du fait d'une r&eacute;vision r&eacute;cente de cette
norme.</p>
</li>
<li>
<p>ISO 8859-9 latin 5 : police officielle en Turquie et en
Hollande, o&ugrave; les caract&egrave;res Islandais peu
utilis&eacute;s ont &eacute;t&eacute; remplac&eacute;s par les
caract&egrave;res turcs.</p>
</li>
<li>
<p>cp1254 : &eacute;quivalent sous Windows de cette police, aussi
incompatible, qui apporte les caract&egrave;res manquant au
Fran&ccedil;ais pr&eacute;c&eacute;demment cit&eacute;s et remplace
les caract&egrave;res Islandais peu utilis&eacute;s par les
caract&egrave;res turcs.</p>
</li>
</ul>
<p>Les choix de polices de caract&egrave;res sont souvent des
questions ou la raison se heurte aux habitudes.</p>
<p>Pour ma part, si vous h&eacute;sitez, je vous recommande l'ISO
8859-15 latin 9, pour diverses raisons :</p>
<p></p>
<ul>
<li>
<p>Il supporte l'int&eacute;gralit&eacute; des caract&egrave;res
utilis&eacute;s en Fran&ccedil;ais de mani&egrave;re standard sur
les UNIX, pour les &eacute;changes de fichiers entre Solaris et
Linux par exemple</p>
</li>
<li>
<p>Il s'agit de la police 8 bits choisie par l'union
europ&eacute;enne si l'Unicode, &eacute;volution du 8 bits, n'est
pas disponible</p>
</li>
<li>
<p>Il permet d'&eacute;crire des textes avec
l'int&eacute;gralit&eacute; des caract&egrave;res utilis&eacute;s
dans l'union</p>
</li>
<li>
<p>Il est en train de devenir le nouveau standard dans la
messagerie &eacute;lectronique au sens large, supplantant
progressivement l'ISO 8859-1 latin 1</p>
</li>
</ul>
<p>Le Francophones HOWTO utilise donc le latin 9 dans tous les
exemples, car il y a de grandes chances que votre syst&egrave;me ne
soit pas encore compatible latin 9... autant donc vous proposer des
manipulations et des travaux pratiques utiles :-)</p>
<p>Toutefois, si vous ne pouvez utiliser l'ISO 8859-15 latin 9 et
d&eacute;cidez d'en choisir une autre, je vous recommande
d'&eacute;viter les cp propres au monde DOS/Windows et de vous
rabattre sur l'ISO 8859-1 latin 1 qui est encore un standard fort
r&eacute;pandu : dans chaque exemple je vous invite alors &agrave;
remplacer les &laquo; latin9 &raquo; par des &laquo; latin1
&raquo;</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN188" id="AEN188">Table de
clavier</a></h3>
<p>Une table de clavier est un fichier permettant de faire
correspondre l'empreinte physique des cabochons, &laquo; touches
&raquo; du clavier, au r&eacute;sultat obtenu sur l'&eacute;cran de
l'ordinateur.</p>
<p>Pour linux, ces fichiers sont dans /usr/lib/kbd/keytables/ ou
/usr/share/kbd/keytables/</p>
<p>Par exemple, les claviers fran&ccedil;ais AZERTY ont une table
de clavier diff&eacute;rente des claviers suisse romands QWERTZ, ou
des claviers du reste du monde, QWERTY.</p>
<p>Cela ne concerne que l'apparence du clavier, l'empreinte des
cabochons, donc disposition relative des caract&egrave;res sur le
clavier, et non son &eacute;lectronique interne ; si votre clavier
ne vous convient pas, il vous suffit donc d'utiliser des
autocollants pour le transformer en un autre clavier
francophone.</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN194" id="AEN194">&laquo; Home
&raquo;, &laquo; End &raquo;, &laquo; Page&amp;lowbar;Up &raquo; et
&laquo; Page&amp;lowbar;Down &raquo;</a></h3>
<p>Les touches &laquo; Home &raquo;, &laquo; End &raquo;, &laquo;
Page&amp;lowbar;Up &raquo; et &laquo; Page&amp;lowbar;Down &raquo;
dont les noms varient selon les claviers sont les touches
permettant respectivement d'aller en d&eacute;but/fin de ligne et
de monter/descendre d'une page.</p>
<p>Les codes affectes &agrave; ces touches sont respectivement 102
et 107 pour &laquo; Home &raquo; et &laquo; End &raquo; en mode
terminal.</p>
<p>Dans les pictogrammes des claviers ISO 9995-7, ces touches sont
repr&eacute;sent&eacute;s par des fl&egrave;ches aux traits
appuy&eacute;s.</p>
<p>Lorsqu'on presse une touche, le clavier &eacute;met un code, qui
est intercept&eacute; par la table de clavier.</p>
<p>La table de clavier, si elle reconnait le code, renvoie la
chaine associ&eacute;e &agrave; la touche, en l'occurence&laquo;
"\e&amp;lsqb;4&nbsp; &raquo; pour &laquo; End &raquo;.</p>
<p>Lorsque bash ou un autre programme re&ccedil;oit cette chaine,
il ne la connait pas !</p>
<p>Donc il faut lui dire, dans le .inputrc que
"\e&amp;lsqb;4&nbsp;" signifie "aller &agrave; la fin de la
ligne"</p>
<p>Donc pour que ces touches fonctionnent dans le shell bash, on
ajoutera donc dans le fichier .inputrc (dans votre &nbsp;/ ou dans
/etc/inputrc) les lignes:</p>
<p></p>
<pre class="SCREEN">
set meta-flag on
set convert-meta off
set input-meta on
set output-meta on
set bell-style visible

"\e[1~":beginning-of-line
"\e[3~":delete-char
"\e[4~":end-of-line
"\e\C-h": backward-kill-word
"\e\e[3~": kill-word
</pre>
<p>Les premi&egrave;res lignes permettent d'afficher les
caract&egrave;res 8 bits, et de remplacer le &laquo; bip &raquo; en
cas d'erreur par un &eacute;clair blanc &agrave;
l'&eacute;cran.</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN207" id="AEN207">Touches
mortes</a></h3>
<p>Les touches mortes sont des touches qui ne produisent pas de
caract&egrave;res en elles-m&ecirc;mes, mais qui modifient la
fa&ccedil;on dont la frappe suivante va &ecirc;tre
interpr&eacute;t&eacute;e, par exemple, le tr&eacute;ma ou l'accent
circonflexe sont en g&eacute;n&eacute;ral des touches mortes.</p>
<p>Une touche morte est une touche qui doit donc &ecirc;tre suivie
d'un espace pour obtenir l'accent seul, ou dans le cas o&ugrave;
elle est suivie d'une voyelle y positionne un accent, par exemple
:</p>
<p></p>
<pre class="SCREEN">
       &laquo; ^ &raquo; puis &laquo; e &raquo; donne &laquo; &ecirc; &raquo;
        &laquo; ^ &raquo; puis &laquo; espace &raquo; donne &laquo; ^ &raquo;
</pre>
<p>Les touches mortes sont :</p>
<ul>
<li>
<p>be et fr: l'accent aigu en AltGr de 1 pour les Fran&ccedil;ais
et en AltGr de &ugrave; pour les Belges, l'accent grave en AltGr de
7 pour les fran&ccedil;ais &amp; en AltGr de carr&eacute;/cube pour
les Belges, le tr&eacute;ma et l'accent circonflexe tous deux
&agrave; c&ocirc;t&eacute; du P</p>
</li>
<li>
<p>sf et usx: les accent aigus, graves, circonflexes, les
tr&eacute;mas et la tilde</p>
</li>
<li>
<p>qc: les accent graves, circonflexes, les tr&eacute;mas et la
c&eacute;dille</p>
</li>
</ul>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN221" id="AEN221">&laquo; BackSpace
&raquo; et &laquo; Delete &raquo;</a></h3>
<p>En raison d'une erreur volontaire et historique sous Linux, pour
&laquo; &eacute;muler &raquo; le fonctionnement d'un clavier de
console VT, ces 2 touches sont fr&eacute;quemments
m&eacute;lang&eacute;es, au mieux fonctionnant &agrave;
l'identique, au pire ne fonctionnant pas du tout.</p>
<p>Commen&ccedil;ons donc par bien les d&eacute;finir :</p>
<p></p>
<ul>
<li>
<p>BackSpace : touche plac&eacute;e en haut &agrave; droite du
pav&eacute; principal, au dessus d' &laquo; Entr&eacute;e &raquo;,
au cabochon marqu&eacute; d'une fl&egrave;che vers la gauche.</p>
</li>
<li>
<p>Delete : touche du pav&eacute; curseur au cabochon marqu&eacute;
&laquo; Suppr &raquo; ou &laquo; Del &raquo;, &agrave; gauche de
&laquo; Fin &raquo; ; en ISO 9995-7 elle correspond &agrave; trois
barres obliques fines orient&eacute;es sud-ouest/nord-est.</p>
</li>
</ul>
<p>Le pav&eacute; num&eacute;rique offre une touche au marquage
identique et &agrave; effet identique lorsque &laquo; Verr Num
&raquo; ou &laquo; Num Lock &raquo; est
d&eacute;sactiv&eacute;.</p>
<p>Ces deux touches correspondent chacune &agrave; un de ces codes
:</p>
<p></p>
<ul>
<li>
<p>BS : caract&egrave;re ASCII 0x08, ou control-h.</p>
</li>
<li>
<p>DEL : caract&egrave;re ASCII 0x7F, ou control-?</p>
</li>
<li>
<p>&circ;D : caract&egrave;re ASCII 0x04, ou control-d.</p>
</li>
</ul>
<p>Ceci dans le but d'effacer &agrave; gauche du curseur avec
BackSpace, &agrave; droite du curseur avec Delete.</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN242" id="AEN242">&laquo; UTC &raquo;
et &laquo; GMT &raquo;</a></h3>
<p>Chaque partie du monde a sa propre norme horaire, bas&eacute;e
sur des fuseaux.</p>
<p>La France se trouve en zone MET, &laquo; heure moyenne
europ&eacute;enne &raquo; soit GMT+1 ; la zone &laquo; MET DST
&raquo; correspond &agrave; l'heure d'&eacute;t&eacute;
activ&eacute;e soit GMT+2.</p>
<p></p>
<ul>
<li>
<p>GMT est l'heure solaire moyenne de Greenwich. L'heure est
compt&eacute;e &agrave; partir de midi et est donc
d&eacute;cal&eacute;e de 12 h par rapport au temps universel. GMT
est bas&eacute;e sur la rotation de la terre, ce n'est donc pas un
temps r&eacute;gulier. En effet, la vitesse de rotation de la Terre
subit des variations faibles mais assez chaotiques, en plus elle
diminue sur le long terme.</p>
</li>
<li>
<p>UTC, &laquo; temps universel coordonn&eacute; &raquo;, est
compt&eacute; &agrave; partir de minuit toujours par rapport au
m&eacute;ridien z&eacute;ro. Il est bas&eacute; sur des
&eacute;talons atomiques, mais des secondes intercalaires sont
ajout&eacute;es occasionnellement pour faire en sorte qu'il ne
s'&eacute;carte jamais de plus de une seconde de l'heure solaire
moyenne. <a href="http://opdaf1.obspm.fr/" target="_top">Le site de
l'opdaf</a> et <a href="http://opdaf1.obspm.fr/www/lexique.html"
target="_top">le lexique</a> donnent plus de renseignements.</p>
</li>
</ul>
<p>C'est le temps UTC, d&eacute;fini &agrave; Paris, qui sert de
r&eacute;f&eacute;rence aux diff&eacute;rentes heures
l&eacute;gales.</p>
<p>L'acronyme &laquo; GMT &raquo; est employ&eacute; 99&amp;percnt;
du temps pour d&eacute;signer UTC, mais c'est une erreur ou un abus
de langage.</p>
<p>Enfin, &agrave; titre purement indicatif, il existe l'heure
astronomique, aussi compt&eacute;e sur des &eacute;talons atomiques
mais d&eacute;cal&eacute;e de 4 minutes par jour de l'heure
terrestre car se basant sur la position de la terre dans l'espace
par rapport aux &eacute;toiles.</p>
</div>
</div>
<div class="SECT1">
<hr>
<h2 class="SECT1"><a name="AEN257" id="AEN257">R&eacute;glage du
clavier sous Linux</a></h2>
<div class="SECT2">
<h3 class="SECT2"><a name="AEN259" id=
"AEN259">Introduction</a></h3>
<p>Il existe deux programmes pour configurer votre clavier : un
pour la console : <tt class="LITERAL">loadkeys</tt> et un pour
XFree : <tt class="LITERAL">xkbd</tt>.</p>
<p>Pour installer un clavier fran&ccedil;ais sous Linux, tapez
selon votre clavier une des lignes suivantes :</p>
<p></p>
<pre class="SCREEN">
       loadkeys tables-clavier/fr/fr-latin9.map
        loadkeys tables-clavier/qc/qc-latin1.map
        loadkeys tables-clavier/cn/cn-latin1.map
        loadkeys tables-clavier/be/be-latin9.map
        loadkeys tables-clavier/sf/sf-latin1.map
        loadkeys tables-clavier/usx/usx-latin1.map
        loadkeys tables-clavier/usx/usx-happy-hacking-latin9.map
</pre></div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN267" id="AEN267">Attention au stty
!</a></h3>
<p>Avec les tables latin 9 recommand&eacute;es dans ce HOWTO, pour
linux-console aussi bien que pour X window, <tt class=
"LITERAL">N'UTILISEZ PLUS</tt> :</p>
<p></p>
<pre class="SCREEN">
       stty erase ^H
</pre>
<p>ou :</p>
<p></p>
<pre class="SCREEN">
       stty erase ^?
</pre>
<p>&laquo; stty erase &raquo; ne sert en effet qu'&agrave;
&eacute;tablir une correspondance entre le code que renvoie une
touche et la fonction <tt class="LITERAL">erase</tt> pour effacer
le caract&egrave;re.</p>
<p>Les tables ici fournies fonctionnent correctement et ne
n&eacute;cessitent donc pas de <tt class="LITERAL">stty erase</tt>
qui risquerait surtout de perturber leur bon fonctionnement !</p>
<p>Supprimez-donc ces lignes de vos fichiers d'initialisation de
l'interpr&eacute;teur de commandes &laquo; shell &raquo;, comme
.bashrc, .bash&amp;lowbar;profile ou .tcshrc .</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN281" id="AEN281">Faire de ces
modifications les d&eacute;fauts au d&eacute;marrage</a></h3>
<p>D'habitude, loadkeys est ex&eacute;cut&eacute; par des scripts
au d&eacute;marrage ; par exemple dans <tt class=
"LITERAL">/etc/rc.d/init.d/keytable</tt> ou <tt class=
"LITERAL">/etc/rc.d/rc.local</tt>, <tt class=
"LITERAL">init.d/keytable</tt> ou <tt class=
"LITERAL">rc.keymap</tt>.</p>
<p>La commande :</p>
<p></p>
<pre class="SCREEN">
       find /etc/rc.d -type f | xargs grep loadkeys
</pre>
<p>vous fournira le nom exact du fichier lan&ccedil;ant loadkeys ;
il vous suffit alors de l'&eacute;diter pour que vos modifications
soient d&eacute;sormais prise en en compte &agrave; chaque
d&eacute;marrage.</p>
<p>Les distributions RedHat et Debian constituent des exceptions :
la table de clavier par d&eacute;faut &eacute;tant d&eacute;finie
dans <tt class="LITERAL">/etc/sysconfig/keyboard</tt> pour la
RedHat et <tt class="LITERAL">/etc/kbd/config</tt> pour les
Debian.</p>
<p>Remplacer donc dans le fichier propre &agrave; votre
distribution la table de clavier en question par la bonne table
comme fr-latin9.map (selon votre mod&egrave;le de clavier)</p>
<p>Vous devrez mettre une copie de la table que vous utilisez dans
le r&eacute;pertoire o&ugrave; votre distribution va chercher les
tables de clavier ; en g&eacute;n&eacute;ral
/usr/lib/kbd/keymaps/i386/azerty/ pour une RedHat et
/usr/share/kbd/keymaps/i386/azerty/ pour une Debian.</p>
<p>Allez donc sur t&eacute;lechargez <a href=
"http://metalab.unc.edu/guylhem/francophones-howto.tgz" target=
"_top">l'archive</a>, enregistrez-la dans votre r&eacute;pertoire
&nbsp;/, puis d&eacute;tarrez-la avec la commande:</p>
<p></p>
<pre class="SCREEN">
       tar -xzvf francophones-howto.tgz
</pre>
<p>Cela cr&eacute;e un r&eacute;pertoire &nbsp;/french :
placez-vous dans ce r&eacute;pertoire puis tapez :</p>
<p></p>
<pre class="SCREEN">
       cp tables-clavier/linux-console/fr-latin9.map /usr/lib/kbd/keytables/i386/azerty/
</pre>
<p>Pour afficher les caract&egrave;res latin9, vous devrez
ex&eacute;cuter les instructions de la section &laquo; polices de
caract&egrave;re &raquo;.</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN305" id="AEN305">Polices de
caract&egrave;re</a></h3>
<p>Si vous utilisez console-tools-1998.08.11.tar.gz, vous pourrez
remplacer &laquo; setfont &raquo; par &laquo; consolechars &raquo;
: ces programmes servent &agrave; charger une police sous linux
console.</p>
<p></p>
<pre class="SCREEN">
        setfont /usr/lib/kbd/consolefonts/xxxE-NN.psf.gz
</pre>
<p>Je vous conseille pour des raisons d&eacute;velopp&eacute;es
plus bas :</p>
<p></p>
<pre class="SCREEN">
        setfont /usr/lib/kbd/consolefonts/lat9-16u.psf.gz
</pre>
<p>Je ne vous conseille pas les fichiers &laquo; lat1 &raquo;, qui
ne supportent pas l'euro ni les autres caract&egrave;res
fran&ccedil;ais.</p>
<p>Vous trouverez aussi des fichiers &laquo; .uni &raquo; qui ne
sont utiles que pour cr&eacute;er des polices ou pour ceux qui
utilisent l'unicode : ils fixent des correspondances entre les
&laquo; dessins &raquo; des caract&egrave;res dans la police et les
codes des dits caract&egrave;res, un m&ecirc;me dessin pouvant
correspondre &agrave; plusieurs codes dans l'example de
d'unicode.</p>
<p>Pour les polices toutes faites, vous pouvez forcer cette
correspondace avec l'option &laquo; -u fichier.uni &raquo;.</p>
<p>Si vous tenez &agrave; les installer, copiez de la m&ecirc;me
mani&egrave;re tous les fichiers commen&ccedil;ant par &laquo; lat9
&raquo; et se terminant par &laquo; .uni &raquo; dans le
r&eacute;pertoire /usr/lib/kbd/consoletrans avec la commande:</p>
<p></p>
<pre class="SCREEN">
    cp lat9*.uni /usr/lib/kbd/consoletrans
</pre>
<p>D'habitude, setfont est ex&eacute;cut&eacute; par des scripts au
d&eacute;marrage ; par exemple dans <tt class=
"LITERAL">/etc/rc.d/init.d/keytable</tt> ou <tt class=
"LITERAL">/etc/rc.d/rc.local</tt>, <tt class=
"LITERAL">init.d/keytable</tt> ou <tt class=
"LITERAL">rc.keymap</tt>.</p>
<p>La commande :</p>
<p></p>
<pre class="SCREEN">
        find /etc/rc.d -type f | xargs grep setfont
</pre>
<p>vous fournira sur le nom exact du fichier lan&ccedil;ant setfont
; il vous suffit alors de l'&eacute;diter pour que vos
modifications soient d&eacute;sormais prise en en compte &agrave;
chaque d&eacute;marrage...</p>
<p>Les distributions RedHat et Debian constituent des exceptions :
la police par d&eacute;faut &eacute;tant d&eacute;finie dans
<tt class="LITERAL">/etc/sysconfig/i18n</tt> pour la RedHat et
<tt class="LITERAL">/etc/kbd/config</tt> pour les Debian.</p>
<p>Dans <tt class="LITERAL">/etc/sysconfig/i18n</tt> rajouter une
ligne de la forme :</p>
<p></p>
<pre class="SCREEN">
        SYSFONT=xxxE-NN.psf
</pre>
<p></p>
<ul>
<li>
<p>xxx repr&eacute;sente le type de police ; il doit s'agir d'une
lat pour les francophones ce qui signifie ISO 8859 ou latin. Sans
cela il n'y a plus de caract&egrave;res &laquo; &eacute;tendus
&raquo; comme les voyelles accentu&eacute;s, symboles de
ponctuation comme paragraphe...</p>
</li>
<li>
<p>E repr&eacute;sente l'encodage latin, par exemple 1 pour latin1,
0 ou 9 pour latin9</p>
</li>
<li>
<p>NNN repr&eacute;sente la taille individuelle de chaque
caract&egrave;re ; 08 est presque illisible mais 16 est un peu
gros... &Agrave; r&eacute;gler selon les go&ucirc;ts de chacun.</p>
</li>
</ul>
<p>Je vous conseille la police lat9-16u.psf ou son
&eacute;quivalent lat0-16.psf install&eacute;e par d&eacute;faut
sur la plupart des distributions, tr&egrave;s souvent
compress&eacute;e donc avec le suffixe &laquo; .gz &raquo; .</p>
<p>&amp;lsqb; rajouter une explication sur comment installer la
police ]</p>
<p>La section &laquo; une police, des polices &raquo; vous donnera
plus de d&eacute;tails sur les polices disponibles.</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN346" id="AEN346">Vieilles
versions</a></h3>
<p>Si lors du chargement de la table de clavier vous rencontrez un
message d'erreur similaire au suivant :</p>
<p></p>
<pre class="SCREEN">
       (guylhem@victis:guylhem)$ loadkeys fr-latin9.map
        Loading /usr/lib/kbd/keytables/fr-latin9.map
        unknown keysym 'dead_cedilla'
        /usr/lib/kbd/keytables/fr-latin9.map:67: parse error
        syntax error in map file
        key bindings not changed
</pre>
<p>Cela signifie que votre version de kbd dont le programme
loadkeys d&eacute;pend est trop vieille : il faut vous procurer une
version plus r&eacute;cente du programme.</p>
<p>Il existait et existe encore des versions des tables de clavier
pour ceux ne voulant ni touches mortes ni accents, mais celles-ci
tombent actuellement en d&eacute;su&eacute;tude puisque la grande
majorit&eacute; des programmes prennent d&eacute;sormais en charge
ces fameuses touches mortes et les caract&egrave;res
accentu&eacute;s.</p>
<p>De plus, les tables fournies avec ce HOWTO permettent de se
servir des touches mortes ou de s'en passer si un programme les
refuse, les deux cas ayant &eacute;t&eacute; pr&eacute;vus :</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN354" id="AEN354">Am&eacute;liorations
sp&eacute;cifiques au clavier fran&ccedil;ais latin9</a></h3>
<p>&Ccedil;a y est, vous pouvez taper du texte latin 9 sous Linux
en mode console !</p>
<p>Seules 2 touches ont &eacute;t&eacute; modifi&eacute;es :</p>
<div class="SECT3">
<hr>
<h4 class="SECT3"><a name="AEN358" id="AEN358">a)
carr&eacute;/cube</a></h4>
<p>Elle sert maintenant &agrave; oe/OE li&eacute;s ; en AltGr on y
trouve les guillemets fran&ccedil;ais.</p>
<p>Le carr&eacute; &amp; le cube restent respectivement accessibles
en AltGr (&ugrave;) et Alt Gr(*), les guillemets &eacute;tant aussi
directement accessibles avec AltGr (w) et AltGr (x), selon la norme
ISO 9995 part 3 appliqu&eacute;e &agrave; la norme AZERTY
fran&ccedil;aise.</p>
<p>En r&eacute;sum&eacute; :</p>
<ul>
<li>
<p>AltGr (&oelig;) : &laquo;</p>
</li>
<li>
<p>AltGr + Shift (&oelig;) : &raquo;</p>
</li>
<li>
<p>AltGr (w) : &laquo;</p>
</li>
<li>
<p>AltGr (x) : &raquo;</p>
</li>
<li>
<p>AltGr (m) : &sup1;</p>
</li>
<li>
<p>AltGr (&ugrave;) : &sup2;</p>
</li>
<li>
<p>AltGr (*) : &sup3;</p>
</li>
</ul>
</div>
<div class="SECT3">
<hr>
<h4 class="SECT3"><a name="AEN378" id="AEN378">b) dollar / livre /
symbole mon&eacute;taire international</a></h4>
<p>&Eacute;tant donn&eacute; que le symbole mon&eacute;taire
international n'est plus disponible dans la norme d'encodage ISO
8859-15, il a &eacute;t&eacute; remplac&eacute; par la division
cent&eacute;simale de l'euro : le cent, disponible donc en AltGr
($).</p>
<p>Dans les pr&eacute;c&eacute;dentes versions, le dollar &amp; la
livre, des monnaies &eacute;trang&egrave;res, avaient
&eacute;t&eacute; d&eacute;plac&eacute;s pour laisser la place
&agrave; l'euro et au cent, notre monnaie.</p>
<p>De telles modifications &eacute;taient permises par les
recommandations officielles de l'EURO WORKSHOP mais allaient
&agrave; l'encontre de la norme AZERTY : si la position AltGr (e)
est d&eacute;j&agrave; occup&eacute;e sur un clavier, la position
de l'euro est laiss&eacute;e au libre choix des programmeurs.</p>
<p>AltGr (e) sert &agrave; faire &laquo; &ecirc; &raquo; depuis
1992 sous Linux, mais devant les protestations l&eacute;gitimes
d'utilisateurs disposant d'un clavier o&ugrave; l'euro est
s&eacute;rigraphi&eacute; en AltGr (e), j'ai du d&eacute;placer le
&ecirc; en AltGr + Shift ($).</p>
<p>D&eacute;sol&eacute; d'avoir rompu la &laquo; tradition &raquo;
linuxienne pour conserver la compatibilit&eacute; &agrave; la norme
AZERTY &amp; aux recommandations officielles de l'EURO WORKSHOP
!</p>
<p>En r&eacute;sum&eacute; :</p>
<p></p>
<ul>
<li>
<p>AltGr (e) : euro</p>
</li>
<li>
<p>AltGr ($) : cent</p>
</li>
<li>
<p>AltGr + Shift ($) : &ecirc;</p>
</li>
</ul>
</div>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN394" id="AEN394">Pour les autres
claviers latin9</a></h3>
<p>L'euro &amp; les cents ont &eacute;t&eacute; rajout&eacute;s
respectivement en AltGr (e) &amp; en AltGr (c).</p>
<p>La touche AltGr a donc &eacute;t&eacute; rajout&eacute;e ; pour
utiliser ces fonctions avec toute table de clavier, il suffit de
charger other-latin9.map apr&egrave;s votre table nationale.</p>
<p>La plupart des am&eacute;liorations du clavier fran&ccedil;ais
ont &eacute;t&eacute; transpos&eacute;es aux claviers nationaux par
des auteurs externes.</p>
<p>Toutefois, je ne poss&egrave;de pas chaque mod&egrave;le de
clavier et ne peut expliquer en d&eacute;tail toutes ces
modifications ; des sections sp&eacute;cifiques seront donc
rajout&eacute;es par la suite par d'autres auteurs.</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN400" id="AEN400">Dans tous les
cas</a></h3>
<p>&laquo; Home &raquo;, &laquo; End &raquo;, &laquo; Delete
&raquo; et &laquo; BackSpace &raquo; ont &eacute;t&eacute;
corrig&eacute;es &amp; les touches &laquo; Windows &raquo; ont
&eacute;t&eacute; correctement d&eacute;finies, pour passer d'une
console virtuelle &agrave; l'autre.</p>
<p>Des &laquo; Composes &raquo;, s&eacute;quences &agrave;
pr&eacute;fixer par la touche compose ( &laquo; Impr&Eacute;cran
&raquo; ou &laquo; Print Screen &raquo; par d&eacute;faut) ont
&eacute;t&eacute; rajout&eacute;es, mais cela reste transparent
pour l'utilisateur.</p>
<p>Par exemple:</p>
<ul>
<li>
<p>COMPOSE &circ; suivi d'une des lettres (s,S,z,Z) sert &agrave;
obtenir les lettres finlandaises rajout&eacute;es</p>
</li>
<li>
<p>COMPOSE " suivi d'une des lettres (y,Y) sert &agrave; obtenir
les y tr&eacute;mas franco-n&eacute;erlandais rajout&eacute;s</p>
</li>
<li>
<p>COMPOSE - suivi d'une des lettres (e,c,l,y) sert &agrave;
obtenir l'euro, le cent, la livre, le yen</p>
</li>
</ul>
</div>
</div>
<div class="SECT1">
<hr>
<h2 class="SECT1"><a name="AEN412" id="AEN412">XFree</a></h2>
<div class="SECT2">
<h3 class="SECT2"><a name="AEN414" id=
"AEN414">Introduction</a></h3>
<p>Il y a quelques ann&eacute;es, &laquo; xmodmap &raquo; servait
&agrave; changer les tables de clavier sous XFree, un fichier de
configuration d'ordinaire nomm&eacute;
/usr/X11/lib/X11/xinit/.Xmodmap &eacute;tant pris en charge
gr&acirc;ce &agrave; votre <tt class="LITERAL">.xinitrc</tt> ou
<tt class="LITERAL">/etc/X11/xinit/xinitrc</tt></p>
<p>Pour convertir une table console correcte, on utilisait &laquo;
mk&amp;lowbar;modmap &raquo; livr&eacute; avec l'archive kbd et
g&eacute;n&eacute;ralement install&eacute; en
/usr/lib/kbd/keytables</p>
<p>Les utilisateurs d&eacute;sirant personnaliser leur table
xmodmap employaient le programme &laquo; xkeycaps &raquo;.</p>
<p>Puis XFree 2.1 et les version ult&eacute;rieures ont reconnu la
disposition des touches du clavier g&eacute;r&eacute;e par &laquo;
loadkeys &raquo;, rendant th&eacute;oriquement xmodmap inutile.</p>
<p>Mais la gestion de la touche &laquo; COMPOSE &raquo;
assur&eacute;e par XFree 3.1 laissait un peu &agrave;
d&eacute;sirer, la table h&eacute;rit&eacute;e de &laquo; loadkeys
&raquo; ne servant gu&egrave;re.</p>
<p>Il fallait donc continuer &agrave; employer xmodmap,
l'utilitaire logiciel standard permettant d'obliger le serveur X
&agrave; associer les &eacute;v&eacute;nements souris/clavier
&agrave; des caract&egrave;res.</p>
<p>Sous XFree version 3.2 et post&eacute;rieures, &laquo; xkb
&raquo; rendit xmodmap d&eacute;finitivement obsol&egrave;te.</p>
<p>Mais ne voil&agrave;-t-il pas les rumeurs qui voulaient que les
prochaines versions de XFree ne supporte plus les touches mortes se
sont confirm&eacute;es !!!</p>
<p>Dans la distribution X11 du X Consortium, donc XFree86, qui en
est directement issu, il n'existe plus de m&eacute;canisme
g&eacute;n&eacute;ral de gestion des touches mortes, ou des
solutions approximatives obligeant &agrave; supprimer aussi xkb ou
modifier des biblioth&egrave;ques de programmes !</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN427" id="AEN427">Mal
programmer</a></h3>
<p>&Agrave; chaque programme de bien g&eacute;rer les touches
mortes au lieu de faire confiance &agrave; X pour cette
t&acirc;che.</p>
<p>En r&eacute;alit&eacute;, il n'est pas compliqu&eacute; de
g&eacute;rer des touches mortes, il suffit d'utiliser la bonne
fonction, XmbLookupString() dans les programmes Motif, au lieu de
XLookupString().</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN431" id="AEN431">Le clavier en
pratique</a></h3>
<p>Quelle histoire compliqu&eacute;e !</p>
<p>De ce fait, elles ne fonctionnent que pour les clients X &laquo;
internationalis&eacute;s &raquo;, c'est-&agrave;-dire qui
g&egrave;rent eux-m&ecirc;mes les probl&egrave;mes li&eacute;s aux
m&eacute;thodes d'entr&eacute;e de donn&eacute;es des
diff&eacute;rentes langues nationales.</p>
<p>Ceci est tr&egrave;s g&ecirc;nant lorsqu'on veut pouvoir saisir
du texte comportant des lettres accentu&eacute;es, alors que le
client utilis&eacute; n'est pas internationalis&eacute; !</p>
<div class="SECT3">
<hr>
<h4 class="SECT3"><a name="AEN436" id="AEN436">a) Solution
utilisant xmodmap</a></h4>
<p>Taper :</p>
<p></p>
<pre class="SCREEN">
       cp fr-latin9.xmod /usr/X11R6/lib/X11/xinit/Xmodmap
        cp fr-latin9.xmod ~/.Xmodmap
</pre></div>
<div class="SECT3">
<hr>
<h4 class="SECT3"><a name="AEN441" id="AEN441">b) Solution
utilisant xkb (recommand&eacute;e)</a></h4>
<p>Taper :</p>
<p></p>
<pre class="SCREEN">
       cp fr-latin9 /usr/X11R6/lib/X11/xkb/symbols
</pre>
<p>Puis &eacute;diter votre <tt class="LITERAL">XF86Config</tt>
pour y rajouter dans la section &laquo; Keyboard &raquo; les lignes
xkb idoines :</p>
<p></p>
<pre class="SCREEN">
Section "Keyboard"
Protocol        "Standard"
AutoRepeat      500 30
LeftAlt         Meta
RightAlt        ModeShift               # Important pour Alt-gr, mais dans les
                                        # versions r&eacute;centes de XFree, AltGr et
                                        # RightAlt sont synonymes.

ScrollLock      Compose                 # Pour faire des caract&egrave;res sp&eacute;ciaux.
                                        # Utiliser sinon une des 3 touches des
                                        # nouveaux claviers 105 touches...

RightCtl        Control                 # Garder la touche normale

XkbKeycodes     "xfree86"
XkbRules        "xfree86"
XkbTypes        "default"
XkbCompat       "default"
XkbSymbols      "fr-latin9(pc105)"
XkbGeometry     "pc(pc105)"
XkbModel        "pc105"

EndSection
</pre>
<p>Pour cette partie Xkb, certains pr&eacute;f&egrave;rent :</p>
<pre class="SCREEN">
       XkbKeymap       "xfree86(fr-latin9)"
        XkbKeycodes     "xfree86"
        XkbSymbols      "en_US(pc101)+fr-latin9"
        XkbGeometry     "pc(pc101)"
</pre>
<p>Bien sur, remplacer &laquo; fr &raquo; par &laquo; cn &raquo;,
&laquo; be &raquo;, &laquo; ch &raquo; ou &laquo; usx &raquo; selon
votre clavier...</p>
</div>
<div class="SECT3">
<hr>
<h4 class="SECT3"><a name="AEN453" id="AEN453">c) Solution du
compose</a></h4>
<p>Une autre m&eacute;thode pour obtenir des caract&egrave;res 8
bits :</p>
<p>Dans <tt class=
"LITERAL">/usr/X11R6/lib/X11/locale/iso8859-1/Compose</tt> se
trouve une table de &laquo; correspondance &raquo; entre deux
caract&egrave;res et un r&eacute;sultat ; les deux
caract&egrave;res sont &laquo;m&eacute;lang&eacute;s&raquo; lors de
l'appui sur la touche Compose : par exemple;</p>
<pre class="SCREEN">
       COMPOSE suivi de &laquo; e &raquo; puis &laquo; ^ &raquo;
</pre>
<p>a toutes les chances de vous donner &ecirc;, y compris dans
l'ordre oppos&eacute; (&laquo; &circ; &raquo; puis &laquo; e
&raquo;)</p>
<p>Mais pour utiliser la touche Compose, vous devez l'affecter
&agrave; une touche !</p>
<p>Le param&eacute;trage pr&eacute;conis&eacute;,
r&eacute;gl&eacute; dans XF86Config, la fait correspondre &agrave;
la touche &laquo; Arr&ecirc;t D&eacute;fil &raquo; inutile sous X,
par la commande :</p>
<p></p>
<pre class="SCREEN">
       ScrollLock       Compose
</pre>
<p>dans la section Keyboard.</p>
<p>Attention, sous Linux en mode console, cette touche est utile
(pour bloquer temporairement la console virtuelle) et c'est &laquo;
Impr &Eacute;cran &raquo; ou &laquo; Print Screen &raquo; qui, ne
servant &agrave; rien, est affect&eacute;e &agrave; &laquo; Compose
&raquo;.</p>
</div>
<div class="SECT3">
<hr>
<h4 class="SECT3"><a name="AEN466" id="AEN466">d) Solution
modifiant la libX11</a></h4>
<p>Thomas Quinot &lt;Thomas.Quinot(&agrave;)cuivre.fdn.fr&gt; vous
propose donc sa <tt class="LITERAL">libX11</tt> modifi&eacute;e,
qui g&egrave;re les touches mortes de mani&egrave;re transparente
pour tous les clients.</p>
<p>Elle permet &eacute;galement de traiter les s&eacute;quences
compos&eacute;es inconnues comme des paires de caract&egrave;res,
par exemple :</p>
<p></p>
<pre class="SCREEN">
       ~ + / = ~/
</pre>
<p>Pour l'utiliser :</p>
<ul>
<li>
<p>R&eacute;cup&eacute;rez libX11-XF3.3.1.tar.gz ;</p>
</li>
<li>
<p>Extrayez le fichier <tt class="LITERAL">libX11.so.6.1</tt> ;</p>
</li>
<li>
<p>Placez-le dans <tt class="LITERAL">/usr/X11R6/lib/</tt> ;</p>
</li>
<li>
<p>Ex&eacute;cutez <tt class="LITERAL">ldconfig</tt> ;</p>
</li>
<li>
<p>D&eacute;sactivez l'extension XKB en utilisant l'option
<tt class="LITERAL">XkbDisable</tt> dans la section <tt class=
"LITERAL">Keyboard</tt> de votre <tt class=
"LITERAL">XF86Config</tt>.</p>
</li>
</ul>
</div>
<div class="SECT3">
<hr>
<h4 class="SECT3"><a name="AEN491" id="AEN491">e) Est-ce
n&eacute;cessaire ?</a></h4>
<p>Personnellement, je vous recommande de ne pas toucher &agrave;
la libX11, d'oublier xmodmap et de l'alternative xkb + fichiers
latin9 en attendant un autre changement de la politique du X
Consortium envers les touches mortes (ou en rajoutant les options
d'internationalisation au code source de vos programmes.)</p>
<p>Actuellement, si vous n'avez pas de r&eacute;pertoire <tt class=
"LITERAL">/usr/X11R6/lib/X11/xkb/symbols/</tt> cela signifie que
vous n'utilisez pas xkb : procurez-vous donc une version plus
r&eacute;cente de X window !</p>
<p>Sans xkb, XFree se rabattra par d&eacute;faut sur votre
configuration de clavier pour Linux avec loadkeys.</p>
<p>Toutefois, la translation n'est pas parfaite et je vous
recommanderais plut&ocirc;t d'&eacute;viter cette option, aussi
bien que l'ancien gestionnaire de clavier <tt class=
"LITERAL">Xmodmap</tt>.</p>
<p>Il se peut aussi que sans aucune commande pour xkb, XFree vous
consid&egrave;re comme utilisateur d'un clavier 7 bits !</p>
<p>Il convient donc d'utiliser une table adapt&eacute;e avec
xkb.</p>
</div>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN501" id="AEN501">&laquo; latin9
&raquo; ou &laquo; latin1 &raquo; ?</a></h3>
<p>Je vous conseille de choisir les tables <tt class=
"LITERAL">latin9</tt> que je maintiens &agrave; jour, plus
r&eacute;centes que les versions <tt class="LITERAL">latin1</tt>,
permettant d'utiliser de multiples am&eacute;liorations,
d&eacute;taill&eacute;es dans la section clavier sous
linux-console, pour disposer du plus de confort possible et plus
adapt&eacute;es car maintenu par des francophones.</p>
<p>Les nombreuses am&eacute;liorations dont elles
b&eacute;n&eacute;ficient permettent de pallier au
d&eacute;ficiences de nombreux programmes.</p>
<p>Par exemple, certains programmes en Motif comme Netscape (tm) ne
savent pas encore g&eacute;rer les touches mortes ... donc
impossible de taper par exemple des &ecirc; ou des &icirc; sur les
claviers des Belges et Fran&ccedil;ais, puisque la touche morte
&laquo; accent circonflexe &raquo; est le seul moyen d'obtenir ces
caract&egrave;res !</p>
<p>&laquo; fr-latin9 &raquo; r&eacute;pond &agrave; ce
probl&egrave;me en proposant une solution de remplacement : AltGr
(voyelle) permet d'obtenir la voyelle avec un accent grave,
AltGr+Shift (voyelle) permet d'obtenir la voyelle avec un
tr&eacute;ma !</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN509" id="AEN509">Table de
correspondances</a></h3>
<p></p>
<ul>
<li>
<p>AltGr (voyelle) : voyelle accent grave</p>
</li>
<li>
<p>AltGr + Shift (voyelle) : voyelle tr&eacute;ma</p>
</li>
<li>
<p>AltGr (touche au dessous de la voyelle) : voyelle majuscule
accent grave</p>
</li>
<li>
<p>AltGr + Shift (touche au dessous de la voyelle) : voyelle
majuscule tr&eacute;ma</p>
</li>
<li>
<p>AltGr + Shift (minuscule accentu&eacute;e) : majuscule
accentu&eacute;e</p>
</li>
</ul>
<p>Par exemple :</p>
<p></p>
<ul>
<li>
<p>AltGr (a) : &acirc;</p>
</li>
<li>
<p>AltGr (q) : &Acirc;</p>
</li>
<li>
<p>AltGr + Shift (&ugrave;) : &Ugrave;</p>
</li>
</ul>
<p>L'astuce marche aussi pour le c c&eacute;dille :</p>
<p></p>
<ul>
<li>
<p>AltGr + Shift (&ccedil;) : &Ccedil;</p>
</li>
</ul>
<p>Donc m&ecirc;me dans les pires conditions, si aucune touche
morte ne fonctionne, on peut quand m&ecirc;me acc&eacute;der
&agrave; toutes les voyelles accentu&eacute;es, majuscules et
minuscules !</p>
<p>Vous y trouverez en plus les guillemets fran&ccedil;ais (&laquo;
&raquo;), les symboles employ&eacute;s en physique (&szlig;,
&aring;, delta, phi ...), des signes de monnaies (yen, cent) ou de
copyright (<tt class="LITERAL">tm</tt>, &copy;) ainsi que des
lettres d'autres langues (&Oslash;, &AElig; ...).</p>
<p>Tous ces signes s'obtiennent gr&acirc;ce &agrave; AltGr
(lettre), par exemple AltGr (b) donne &szlig;, AltGr (r) donne
<tt class="LITERAL">tm</tt>, AltGr (y) donne yen...</p>
<p>Pour vous rapeller simplement de tout cel&agrave;, tapez par
exemple :</p>
<p></p>
<pre class="SCREEN">
        more /usr/lib/kbd/keytables/i386/azerty/fr-latin9.map
</pre>
<p>Pour ce qui est du choix entre latin1 et latin9... &agrave; vous
de voir !</p>
<p>Un conseil : essayez l'un puis l'autre si vous avez le
temps.</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN547" id="AEN547">Les polices ISO
8859-15 latin 9 sous X</a></h3>
<p>Il est bien d'avoir une table de clavier compatible latin 9,
mais sans police adapt&eacute;e jamais vous ne verrez les
caract&egrave;res rajout&eacute;s dans cette norme.</p>
<p>Il faut donc utiliser l'utilitaire de conversion &laquo;
bdftopcf &raquo; qui en quelque sorte permet de compiler les
polices de caract&egrave;res fournies.</p>
<p>Placez-vous dans le r&eacute;pertoire de l'archive que vous avez
r&eacute;cup&eacute;r&eacute; puis sous root, taper par exemple
pour Xlat9-10x20.bdf ou un autre bdf :</p>
<p></p>
<pre class="SCREEN">
       bdftopcf Xlat9-10x20.bdf &gt; Xlat9-10x20-lat9.pcf
        gzip Xlat9-10x20-lat9.pcf
        mv Xlat9-10x20-lat9.pcf.gz /usr/X11R6/lib/X11/fonts/misc
        mkfontdir /usr/X11R6/lib/X11/fonts/misc
</pre>
<p>Cel&agrave; cr&eacute;e un fichier &laquo; Xlat9-10x20-lat9.pcf
&raquo; qu'il faut compresser avec gzip, on obtient alors le
fichier &laquo; Xlat9-10x20-lat9.pcf.gz &raquo; qui doit &ecirc;tre
mis dans le r&eacute;pertoire ad&eacute;quat, pour lequel l'index
des polices de caract&egrave;res sera mis &agrave; jour.</p>
<p>Alors, ajoutez la table de composition latin9 aux compositions
par d&eacute;faut de X, sp&eacute;cifiques &agrave; l'iso 8859-1
:</p>
<p></p>
<pre class="SCREEN">
       cat XCompose-lat9 &gt;&gt; /usr/X11R6/lib/X11/locale/iso8859-1/Compose
</pre>
<p>Nous faisons un cat vers l'ISO 8859-1, car X ne reconna&icirc;t
pas l'ISO 8859-15 latin9.</p>
<p>De l&agrave;, red&eacute;marrer X ou taper sous son compte
d'utilisateur normal :</p>
<p></p>
<pre class="SCREEN">
       xset +fp /usr/X11R6/lib/X11/fonts/misc
</pre>
<p>Si vous utilisez xmodmap, lancez :</p>
<p></p>
<pre class="SCREEN">
       xmodmap ~/.Xmodmap
</pre>
<p>Pour choisir les polices latin9, lancer xfontsel et chercher les
encodages iso8859-15.</p>
<p>Ou plus simplement, taper :</p>
<p></p>
<pre class="SCREEN">
       grep Xlat9-10x20.pcf /usr/X11R6/lib/X11/fonts/misc/*
</pre>
<p>Puis utiliser le second param&egrave;tre comme nom de police,
par exemple avec rxvt, xiterm, aterm ou wterm:</p>
<p></p>
<pre class="SCREEN">
       aterm -fn -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-15
</pre>
<p>Cela lance un terminal X utilisant une des polices latin9.</p>
</div>
</div>
<div class="SECT1">
<hr>
<h2 class="SECT1"><a name="AEN573" id="AEN573">R&eacute;glage du
clavier pour les applications en mode texte</a></h2>
<div class="SECT2">
<h3 class="SECT2"><a name="AEN575" id="AEN575">Tout
d'abord</a></h3>
<p>Le huiti&egrave;me bit doit survivre &agrave; l'entr&eacute;e du
noyau, assurez-vous-en donc avec :</p>
<p></p>
<pre class="SCREEN">
       stty cs8 -istrip -parenb
</pre>
<p>Ensuite, il convient de s'assurer que l'application est apte
&agrave; supporter les caract&egrave;res 8 bits : par exemple,
ispell n'est pas compil&eacute; pour des caract&egrave;res 8 bits
par d&eacute;faut : il faut le recompiler sans l'option :</p>
<p></p>
<pre class="SCREEN">
       -NO8BIT
</pre></div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN583" id="AEN583">Une police, des
polices...</a></h3>
<p>Avant d'aborder cette section, je vous conseille de lire
l'introduction sur les polices pour appr&eacute;hender un peu mieux
le vocabulaire de base et les diff&eacute;rentes normes de
polices.</p>
<div class="SECT3">
<hr>
<h4 class="SECT3"><a name="AEN586" id="AEN586">a) Historique des
polices</a></h4>
<p>De l'ASCII &agrave; l'Unicode, en passant par l'ISO 8859, le
latin et le cp, on peut r&eacute;sumer l'histoire des polices en
grandes &eacute;tapes :</p>
<p>Au d&eacute;but &eacute;tait l'ASCII, qui codait ses
caract&egrave;res sur 7 bits.</p>
<p>Pr&eacute;vu pour des &eacute;tats-uniens, il &eacute;tait
impossible d'incorporer des caract&egrave;res accentu&eacute;s
&agrave; la norme d&eacute;j&agrave; pr&eacute;sente de 127
caract&egrave;res.</p>
<p>Ainsi vint le 8 bits qui &eacute;tendit le nombre de
caract&egrave;res &agrave; 255 et les normes ISO 8859, latin et cp,
pour les plus connues, qui vinrent pallier &agrave; cette
d&eacute;ficience du fait des 128 positions suppl&eacute;mentaires
disponibles en encodant les caract&egrave;res sur 8 bits.</p>
<p>Mais plusieurs de ces normes &eacute;taient n&eacute;cessaire du
fait de l'impossibilit&eacute; de faire tenir les caract&egrave;res
de toutes les langues du monde sur 8 bits.</p>
<p>La norme ISO 8859-1 latin 1, la plus utilis&eacute;e, se destine
par exemple au langues d'Europe de l'ouest, du nord,
d'Am&eacute;rique, la norme ISO 8859-2 latin 2 est pr&eacute;vue
pour l'Europe de l'est...</p>
<p>L'Unicode est l'un de ces standard, destin&eacute; &agrave;
terme &agrave; remplacer les diff&eacute;rentes &eacute;volutions
de l'ASCII ; comme le passage du 7 bits au 8 bits il correspond
&agrave; une extension de la place disponible, tout en reprenant
l'ancienne partie comme ASCII et ISO 8859-1 latin 1 pour rester
compatible avec la majorit&eacute; du parc install&eacute;.</p>
<p>L'Unicode offre l'avantage de proposer les caract&egrave;res
n&eacute;cessaires &agrave; toutes les langues du monde, mais reste
encore peu utilis&eacute; ou impl&eacute;ment&eacute;.</p>
<p>En effet, il est impossible de l'utiliser en pratique sous
linux-console, la m&eacute;moire exig&uuml;e de la carte
vid&eacute;o ne permettant pas de stocker tous les
caract&egrave;res de l'Unicode, et sous X la gestion actuelle des
polices rendrait son utilisation trop inconfortable.</p>
<p>Attendons un peu que les polices &laquo; True Type &raquo; se
r&eacute;pandent sous X, gr&acirc;ce &agrave; des outils comme
freetype, xfstt (...) et le tr&egrave;s attendu XFree 4 qui devrait
les supporter en natif.</p>
<p>Actuellement, la nouvelle norme europ&eacute;enne ISO 8859-15
latin 9 est cens&eacute;e permettre la transition vers l'Unicode en
apportant &agrave; l'ancien ISO 8859-1 latin 1 les
caract&egrave;res qu'il manquait actuellement.</p>
<p>Toutefois elle est partiellement incompatible avec l'Unicode
puisque l'ISO 8859-1 latin 1 avait &eacute;t&eacute; choisi comme
base pour l'Unicode, mais que cette police veut compl&eacute;ter
les failles de l'ISO 8859-1 latin 1 en y rajoutant des
caract&egrave;res d&eacute;j&agrave; pr&eacute;sents dans
l'Unicode...</p>
<p>Quelle complexit&eacute; pour de simple lettres !</p>
</div>
<div class="SECT3">
<hr>
<h4 class="SECT3"><a name="AEN601" id="AEN601">b) ISO 8859-15 latin
9</a></h4>
<p>De nous jours, il vaut mieux installer par d&eacute;faut la
nouvelle norme ISO 8859-15 latin 9, destin&eacute;e &agrave;
remplacer l'ensemble des polices europ&eacute;ennes par une
seule.</p>
<p>Son but est voisin de l'Unicode, mais elle a l'avantage
d'&ecirc;tre plus l&eacute;g&egrave;re que celui-ci et d'&ecirc;tre
applicable tout de suite.</p>
<p>Elle apporte notamment des caract&egrave;res qui manquaient
beaucoup pour les Fran&ccedil;ais et les Finlandais :</p>
<p></p>
<ul>
<li>
<p>&laquo; e dans l'o &raquo; en majuscule et minuscule pour les
Fran&ccedil;ais, par exemple pour les mots &oelig;uf, c&oelig;ur,
b&oelig;uf, &oelig;il ...</p>
</li>
<li>
<p>&laquo; s chapeau invers&eacute; &raquo; en majuscule et
minuscule pour les Finlandais</p>
</li>
<li>
<p>&laquo; z chapeau invers&eacute; &raquo; en majuscule et
minuscule pour les Finlandais</p>
</li>
<li>
<p>&laquo; l'EURO &raquo; pour tous les pays europ&eacute;ens</p>
</li>
</ul>
<p>Cette nouvelle norme, ISO 8859-15 latin 9 aussi connue sous le
nom g&eacute;n&eacute;rique latin0, reste cependant encore
tr&egrave;s peu r&eacute;pandue par rapport &agrave; la norme
actuelle ISO 8859-1 latin 1.</p>
</div>
<div class="SECT3">
<hr>
<h4 class="SECT3"><a name="AEN617" id="AEN617">c) Utiliser les
polices ISO 8859-15 latin 9</a></h4>
<p>Vous n'avez besoin que d'une seule police !</p>
<p>Or il en existe plusieurs types r&eacute;pondant
diff&eacute;remment &agrave; la m&ecirc;me norme iso-8859-15 latin9
&laquo; latin0 &raquo; sous linux :</p>
<ul>
<li>
<p>par tradition l'opposition latN/latNu selon l'inclusion ou non
d'une table de correspondance Unicode.</p>
</li>
<li>
<p>en r&eacute;alit&eacute; les diff&eacute;rences vont bien plus
loin, de l'ordre dans lequel sont les caract&egrave;res de la
police, ce qui joue sur l'aspect des applications semi graphique,
les correspondances avec des caract&egrave;res latin1 &plusmn;
latin9 &plusmn; Unicode ce qui a un r&ocirc;le dans la
compatibilit&eacute; crois&eacute;e ou exclusive, par exemple
purement Unicode...</p>
</li>
</ul>
<p>J'ai donc compl&eacute;t&eacute; par 2 types de ma
cr&eacute;ation pour r&eacute;pondre au mieux aux diff&eacute;rents
besoins.</p>
<p></p>
<pre class="SCREEN">
      | Encodage dans | Inclusion d'une | Compatibilit&eacute; | Compatibilit&eacute;
      |  l'ordre iso  |  table Unicode  |   exclusive   |    crois&eacute;e
--------------------------------------------------------------------------
lat9  |     oui       |      non        |     non       |   lat1 + lat9
--------------------------------------------------------------------------
lat9u |     non       |      oui        |     non       |   lat1 + lat9
--------------------------------------------------------------------------
lat9v |     oui       |      oui        |   Unicode     |       non
--------------------------------------------------------------------------
lat9w |     oui       |      oui        |     non       |lat1+lat9+Unicode
--------------------------------------------------------------------------
</pre>
<p>Voici plus d'explications :</p>
<p></p>
<ul>
<li>
<p>les lat9 tout court ne contiennent pas de table de
correspondance Unicode, ce qui fait que tous les symboles
mon&eacute;taires internationaux appara&icirc;tront comme des euro,
ce qui peut poser des probl&egrave;mes pour les fichiers issus d'un
ordinateur sous windows ; le cp1252 ou le latin1 sont &laquo;
incompatibles &raquo; avec le latin9, mais ce dernier a l'avantage
de fonctionner tout de suite sous linux. Dans les versions
r&eacute;centes du noyau, selon le <a href=
"http://www.multimania.com/ydirson/en/lct/lct/lct-6.html" target=
"_top">site de Yann Dirson</a>, il semble donc que toutes les
polices devraient contenir une table de correspondance
Unicode...</p>
</li>
<li>
<p>des lat9u encod&eacute;es dans un ordre non standard, mais
identique &agrave; celui des polices latXu de kbd, par rapport aux
polices pr&eacute;c&eacute;dentes, en amenant les m&ecirc;mes
probl&egrave;mes avec le cp1252 et le latin1 mais en incluant une
table de correspondance Unicode, ce qui permet d'avoir de jolis
caract&egrave;res semi graphiques sous Yast, mc, ou d'autres
programmes bas&eacute;s sur ncurses ou dialog.</p>
</li>
<li>
<p>des lat9v encod&eacute;es dans l'ordre officiel iso comme les
lat9 mais avec une table Unicode compl&egrave;te : l&agrave; aucun
symbole mon&eacute;taire international ne sera remplac&eacute; par
l'euro ! Ces polices sont utiles pour &eacute;viter les
probl&egrave;mes d'export, gr&acirc;ce &agrave; l'Unicode *pur*,
avec une table de clavier Unicode adapt&eacute;e : tous les
caract&egrave;res latin9 sont remplac&eacute;s par des
caract&egrave;res Unicodes et affich&eacute;s ainsi, ce qui a le
m&eacute;rite d'&ecirc;tre compatible avec le latin9, l'Unicode,
d'&ecirc;tre &eacute;l&eacute;gant techniquement mais inutilisable
&laquo; normalement &raquo; sous linux-console. Presque aucun
syst&egrave;me n'est enti&egrave;rement pr&ecirc;t pour l'Unicode
!</p>
</li>
</ul>
<p>Donc n'utilisez les polices lat9, lat9u ou lat9v que si vous
savez ce que vous faites, je vous recommande pour ma part le
meilleur compromis : les polices lat9w qui permettent de passer au
latin9 imm&eacute;diatement, en posant quelques probl&egrave;mes
pour les caract&egrave;res latin1 qui seront remplac&eacute;s par
leurs &eacute;quivalents latin9, mais sans rendre l'Unicode
obligatoire comme les lat9U, sans emm&ecirc;ler les
caract&egrave;res graphiques comme les lat9, et en permettant aussi
d'afficher les caract&egrave;res sp&eacute;cifiques au latin9 en
Unicode *pur*, &agrave; l'exception des caract&egrave;res
sp&eacute;cifiques au latin1 donc...</p>
<p>Je vous rassure, vous n'&ecirc;tes pas oblig&eacute;s de
comprendre tout ce qui suit pour &laquo; passer &agrave; l'euro
&raquo;, si effectivement vous ne savez toujours pas de quelle
police vous avez besoin, un conseil : utiliser les lat9w.</p>
<p>Pour utiliser la police lat9-16.psf ou un autre lat9 .psf, vous
devez pallier l'absence d'une table Unicode en en chargeant
une.</p>
<p></p>
<pre class="SCREEN">
                loadunimap fonts/linux-console/lat9.uni
                setfont fonts/linux-console/lat9-16.psf
</pre>
<p>Pour utiliser la police lat9w-16.psf ou une autre lat9u, lat9v
ou lat9w :</p>
<p></p>
<pre class="SCREEN">
                setfont /fonts/linux-console/lat9w-16.psf
</pre></div>
<div class="SECT3">
<hr>
<h4 class="SECT3"><a name="AEN647" id="AEN647">d) Unicode</a></h4>
<p>Une alternative est l'Unicode, mais les programmes l'utilisant
sont encore trop peu nombreux pour qu'elle soit valable.</p>
<p>Citons quand m&ecirc;me yuedit et le projet &laquo; 9 &raquo;
(9term, 9wm... rien &agrave; voir avec l'op&eacute;rateur
t&eacute;l&eacute;com fran&ccedil;ais du m&ecirc;me nom) qui
utilisent l'Unicode sous X, avec plus ou moins de
succ&egrave;s.</p>
<p>En revanche, sous linux-console, tout programme peut utiliser
l'Unicode.</p>
<p>Mais, h&eacute;las!, aussi grande que soit la m&eacute;moire des
cartes vid&eacute;os actuelles, elle ne peut charger
l'int&eacute;gralit&eacute; des caract&egrave;res d'une police
Unicode.</p>
<p>Il existe donc des &laquo; jeux de caract&egrave;res &raquo;
limit&eacute;s mais bien utiles pour les langues baltiques,
asiatiques, est-africaines...</p>
</div>
<div class="SECT3">
<hr>
<h4 class="SECT3"><a name="AEN654" id="AEN654">e) Utiliser les
possibilit&eacute;s Unicode</a></h4>
<p>Essayez par exemple ce fichier <tt class=
"LITERAL">unicode-lance</tt> pour passer en mode Unicode:</p>
<p></p>
<pre class="SCREEN">
#!/bin/sh
echo -e '\033%8'
kbd_mode -u
loadkeys fr-unicode.map
setfont lat9u-16.psf
</pre>
<p>et ce fichier <tt class="LITERAL">latin-retourne</tt> pour
revenir en mode latin normal:</p>
<p></p>
<pre class="SCREEN">
#!/bin/sh
echo -e '\033%@'
kbd_mode -a
loadkeys fr-latin9.map
setfont lat9w-16.psf
</pre>
<p>Essayez par exemple de lire le fichier <tt class=
"LITERAL">unicode.txt</tt>, encod&eacute; en Unicode, une fois
<tt class="LITERAL">unicode-lance</tt> activ&eacute;.</p>
<p>Vous ne verrez sinon qu'un texte mal encod&eacute;, sans
caract&egrave;res 8 bits, comme cet exemple :</p>
<p></p>
<pre class="SCREEN">
&#13;
</pre>
<pre class="PROGRAMLISTING">
Ceci est un essai de texte en UNICODE !

On constate que les b&Atilde;&copy;tas (&Atilde;~_) et autres lettres 8 bits ne sortent pas bien
si l'on regarde ce fichier en mode latin !
Les accents &Atilde;&copy;&Atilde;&uml;&Atilde;| &Atilde;&sup1; non plus d'ailleurs...
Enfin, heureusement que l'on ne marche pas sur des &Aring;~RUFS, enfin, &Aring;~Sufs !
&Atilde;~Ga marche moyennement disons !
</pre>
<pre>
&#13;
</pre></div>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN671" id="AEN671">Les locales,
messages en Fran&ccedil;ais</a></h3>
<p>Linux en 'version fran&ccedil;aise' existe... mais ne semble pas
facile &agrave; obtenir.</p>
<p>La librairie locale(7) &amp;lsqb;cf aussi perllocale, setlocale,
getlocale] utilis&eacute;e par la librairie C se sert de variables
d'environnement pour d&eacute;finir les pr&eacute;f&eacute;rences
linguistiques et nationales.</p>
<p>Pablo Saratxaga r&eacute;pondait ainsi &agrave; Pascal Rigaux en
prenant l'exemple de sort :</p>
<p></p>
<pre class="SCREEN">
 PR&gt; J'ai d&eacute;couvert aujourd'hui la variable d'environnement LANG. C'est assez
 PR&gt; surprenant de se retrouver avec de l'aide en fran&ccedil;ais (m&ecirc;me si elle n'est pas
 PR&gt; toujours aussi pr&eacute;cise que la version anglaise) quand on fait ls --help.

C'est agr&eacute;able n'est-ce pas ?

 PR&gt; Par contre je ne comprend pas pourquoi un programme comme sort(1) n'utilise pas
 PR&gt; cette information pour obtenir un tri acceptable pour les accents (du genre ne
 PR&gt; pas mettre &laquo; &ecirc;tre &raquo; apr&egrave;s &laquo; zen &raquo;). Il devrait au moins proposer une option de
 PR&gt; ce genre.

Il faudrait regarder les sources de sort...
La fonction &agrave; utiliser est strcoll() :

                                  ****

STRCOLL(3)         Manuel du programmeur Linux         STRCOLL(3)


NOM
       strcoll - Comparaison de deux cha&icirc;nes suivant la localisa-
       tion en cours.

SYNOPSIS
       #include &lt;string.h&gt;

       int strcoll (const char *s1, const char *s2);

DESCRIPTION
       La fonction strcoll() compare les deux cha&icirc;nes s1  et  s2.
       Elle renvoie un entier inf&eacute;rieur, &eacute;gal ou sup&eacute;rieur a z&eacute;ro
       si  s1 est respectivement inf&eacute;rieure, &eacute;gale, ou sup&eacute;rieure
       a  s2.   La  comparaison est effectu&eacute;e en se basant sur la
       localisation en cours pour la cat&eacute;gorie LC_COLLATE.  (Voir
       setlocale(3)).

                                  ****

qui est donc l'&eacute;quivalent de strcmp() mais qui tiens compte des locales.
Il faudra s'&eacute;crire un strcasecoll() aussi pour bien faire, en utilisant
toupper()/tolower() qui d'apr&egrave;s la page de manuel supporte les locales.

Qui s'y colle ? &Ccedil;a devrait &ecirc;tre assez simple &agrave; r&eacute;aliser sur un syst&egrave;me GNU
en tout cas.
</pre>
<p>Il existe diff&eacute;rente variables &agrave; exporter, avec
chacune une fonction sp&eacute;cifique ; le format
standardis&eacute; est:</p>
<p></p>
<pre class="SCREEN">
       langue[_PAYS[.CHARSET]][@variante]
</pre>
<p>Les crochets d&eacute;notent l'optionalit&eacute;, par exemple:
'fr', 'fr&amp;lowbar;BE', 'fr&amp;lowbar;CH.ISO-8859-15',
no@bokmaal, no@nynorsk,...</p>
<p>Les fonctions de la libc, celle de GNU en tout cas, iront
chercher dans &laquo; l'ordre d&eacute;croissant &raquo; si on peut
dire; par exemple si on sp&eacute;cifie
'fr&amp;lowbar;CH.ISO-8859-15' elles chercheront d'abord avec cette
valeur, puis avec 'fr&amp;lowbar;CH' puis avec 'fr'.</p>
<p></p>
<ul>
<li>
<p>LC&amp;lowbar;COLLATE d&eacute;finit les &eacute;quivalences de
caract&egrave;res pour les comparaisons (&aelig; peut &ecirc;tre
&eacute;quivalent &agrave; ae), pour les ligatures et pour les
c&eacute;sures.</p>
</li>
<li>
<p>LC&amp;lowbar;CTYPE d&eacute;finit les caract&egrave;res
affichables</p>
</li>
<li>
<p>LC&amp;lowbar;MONETARY d&eacute;finit le format et le symbole de
la monnaie utilis&eacute;e</p>
</li>
<li>
<p>LC&amp;lowbar;NUMERIC d&eacute;finit le format num&eacute;rique
: regroupement, marqueur d&eacute;cimal...</p>
</li>
<li>
<p>LC&amp;lowbar;MESSAGES d&eacute;finit la langue des messages</p>
</li>
<li>
<p>LC&amp;lowbar;TIME d&eacute;finit le format de la date, les noms
des jours et des mois</p>
</li>
<li>
<p>LC&amp;lowbar;ALL valeur par d&eacute;faut des variables
pr&eacute;c&eacute;dentes : si une LC&amp;lowbar; n'est pas
d&eacute;finie, LC&amp;lowbar;ALL est prise en compte, sinon la
libc se rabat sur LANG.</p>
</li>
<li>
<p>LANG diff&eacute;rent des variables pr&eacute;c&eacute;dentes,
contient le code langue au format iso : fr,en,de...</p>
</li>
<li>
<p>LANGUAGE liste des locales par ordre de pr&eacute;f&eacute;rence
s&eacute;par&eacute;es par deux points (fr:es:dk:en), c'est une
particularit&eacute; GNU, fort utile si un document n'existe que
dans une langue comme certaines pages de manuel</p>
</li>
</ul>
<p>Les valeurs utilisables pour les francophones sont:</p>
<p></p>
<ul>
<li>
<p>fr fran&ccedil;ais g&eacute;n&eacute;rique</p>
</li>
<li>
<p>fr&amp;lowbar;FR fran&ccedil;ais de France</p>
</li>
<li>
<p>fr&amp;lowbar;BE fran&ccedil;ais de Belgique</p>
</li>
<li>
<p>fr&amp;lowbar;CH fran&ccedil;ais de Suisse</p>
</li>
<li>
<p>fr&amp;lowbar;LU fran&ccedil;ais du Luxembourg</p>
</li>
<li>
<p>fr&amp;lowbar;CA fran&ccedil;ais du Canada</p>
</li>
</ul>
<p>Par exemple, si vous &ecirc;tre un Fran&ccedil;ais de France, il
suffit d'indiquer sous bash :</p>
<p></p>
<pre class="SCREEN">
       export LANGUAGE=fr_FR
</pre>
<p>Exemple :</p>
<p></p>
<pre class="SCREEN">
       bash# export LANGUAGE=es_ES
        bash# ls fichier_n_existant_pas
        ls: fichier_n_existant_pas: No existe el fichero o el directorio
        bash# export LANGUAGE=de_DE
        bash# ls fichier_n_existant_pas
        ls: fichier_n_existant_pas: Datei oder Verzeichnis nicht gefunden
        bash# export LANGUAGE=en_US
        bash# ls fichier_n_existant_pas
        ls: fichier_n_existant_pas: No such file or directory
        bash# export LANGUAGE=fr_FR
        bash# ls fichier_n_existant_pas
        ls: fichier_n_existant_pas: Aucun fichier ou r&eacute;pertoire de ce type
</pre>
<p>Toutefois, avec le passage &agrave; l'euro, ces locales ne sont
plus adapt&eacute;es.</p>
<p>Je vous conseille donc d'utiliser dans les pays de l'union
passant &agrave; l'euro le suffixe &laquo; @euro &raquo; :</p>
<p></p>
<pre class="SCREEN">
   export LC_ALL="fr_FR@euro"
</pre>
<p>Pour cela, installer les nouveaux fichiers sources de locales
dans <tt class="LITERAL">/usr/share/i18n/</tt> en lan&ccedil;ant
:</p>
<p></p>
<pre class="SCREEN">
   cp charmaps/ISO-8859-15 /usr/share/i18n/charmaps/ISO-8859-15
   cp locales/* /usr/share/i18n/locales/
</pre>
<p>Alors, r&eacute;g&eacute;n&eacute;rer les locales &laquo;
binaires &raquo; de <tt class="LITERAL">/usr/share/locales</tt>,
par exemple :</p>
<p></p>
<pre class="SCREEN">
   localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro
</pre>
<p>fr&amp;lowbar;FR@euro inclus les caract&egrave;res latin 9,
c'est utile pour l'utilisation de LC&amp;lowbar;COLLATE et
LC&amp;lowbar;CTYPE en fait, et la nouvelle monnaie unique.</p>
<p>Pour le moment, le Franc Fran&ccedil;ais (FRF) est toujours la
monnaie officielle en France par exemple, mais lorsque ce sera
l'euro, il suffira de remplacer la locale fr&amp;lowbar;FR par
fr&amp;lowbar;FR@euro.</p>
<p></p>
<pre class="SCREEN">
   cd /usr/lib/locales
   rm -fr fr_FR
   mv fr_FR@euro fr_FR
</pre>
<p>La solution &laquo; @euro &raquo; est support&eacute;e par les
autres UNIX comme Solaris.</p>
<p>Pour les shell scripts, il peut &ecirc;tre utile de rajouter
&laquo; LC&amp;lowbar;TIME=C &raquo; pour emp&ecirc;cher la date
d'&ecirc;tre localis&eacute;, emb&ecirc;tant pour les grep et
autres qui cherchent &laquo; Mon &raquo; &laquo; Tue &raquo;... et
non &laquo; Lun &raquo;, &laquo; Mar &raquo;...</p>
<p>Les donn&eacute;es correspondantes aux pr&eacute;f&eacute;rences
se trouvent g&eacute;n&eacute;ralement dans <tt class=
"LITERAL">/usr/share/locale</tt>. S'ils manquent, vous pouvez
r&eacute;cup&eacute;rer leur <a href=
"ftp://dkuug.dk/i18n/WG15-collection" target="_top">source</a></p>
<p>Concernant les autres fichiers abord&eacute;s dans cet article,
vous les trouverez avec les autres fichiers de cet HOWTO sur
<a href="http://metalab.unc.edu/guylhem/francophones-howto.tgz"
target="_top">ma page</a>.</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN747" id="AEN747">Son linux en
fran&ccedil;ais</a></h3>
<p>Pour se faire <tt class="LITERAL">SON</tt> linux en
fran&ccedil;ais il faut en pratique disposer des sources de la libc
et d'un minimum de comp&eacute;tences en langage C ; ces
manipulations sont inutiles pour l'utilisateur standard de Linux
qui se contentera d'utiliser les locales de la section
pr&eacute;c&eacute;dente.</p>
<p>Mais voici donc, pour la bonne bouche, quelques renseignements
collect&eacute;s...</p>
<p>Laurent Chemla nous pilote :</p>
<p></p>
<pre class="SCREEN">
Si j'ai suivi, il y a deux trucs qui font la m&ecirc;me chose, d'o&ugrave; embrouille, les
locales et un truc appel&eacute; nls.

Les locales, sous Linux, &ccedil;a va par d&eacute;faut dans /usr/lib/locale,
et &ccedil;a contient de quoi pr&eacute;ciser entre autres le format des
nombres (LC_NUMERIC), les retours des fonctions ctype (isalpha etc) (LC_CTYPE),
le format des sommes d'argent (LC_MONETARY), le format des dates (LC_TIME) et
encore d'autres d&eacute;tails. Sur certains Unix, il y a aussi LC_MESSAGES,
qui contient les messages de l'OS dans la langue choisie par la variable
d'environnement LC_MESSAGES. Pas sous Linux.  Sous Linux, c'est nls qui fait
&ccedil;a, et de fait, nls g&egrave;re un fichier qui est dans /etc/locale/.
(NDG : De nos jours, ils se trouvent plut&ocirc;t dans /usr/lib/locale)
D'o&ugrave; l'embrouille. Ils auraient mis &ccedil;a dans /usr/lib/nls, comme
tout le monde, &ccedil;a aurait &eacute;vite la confusion. Mais bon.

Donc, si l'on veut se tenir &agrave; jour d'nls, il suffit d'aller dans les
sources de libc/nls, faire &laquo; make french &raquo; et copier libc.dat dans
/etc/locale/C/libc.dat et toc, tous les messages sont en fran&ccedil;ais. Y compris
ceux des programmes qui n'utilisent pas setlocale(): c'est perror() qui fait le
boulot (du moins je suppose).

Si l'on veut en plus que les programmes qui utilisent setlocale() utilisent nos
r&egrave;gles fran&ccedil;aises, l&agrave; il faut aller dans les sources de
libc/locale et dans chacun des sous-r&eacute;pertoires jeter un &oelig;il sur le
fichier exemple, le modifier pour le fran&ccedil;ais (c'est des tout petits
fichiers), et faire &laquo; make &raquo;, avant de copier le r&eacute;sultat dans
/usr/lib/local/fr/ et de faire un &laquo; export LC_ALL=fr &raquo;.
</pre>
<p>Autre astuce pour m&eacute;nager les vieux logiciels :</p>
<p></p>
<pre class="SCREEN">
cd /usr/lib
ln -sf /usr/share/locale .
</pre>
<p>Ne pas oublier de t&eacute;l&eacute;charger sur le <a href=
"ftp://ftp.lip6.fr" target="_top">site du lip6</a> :</p>
<p></p>
<ul>
<li>
<p>Les pages de manuel en fran&ccedil;ais, archive man-fr-*,
adapt&eacute;es par C. Blaess. Il suffit d'extraire le contenu de
l'archive dans le r&eacute;pertoire /usr/man/fr.</p>
</li>
<li>
<p>Une int&eacute;ressante documentation technique : locale.fr, par
P. D'Cruze, adapt&eacute;e par &Eacute;. Dumas</p>
</li>
</ul>
<p>Pour en apprendre davantage lire la page de manuel de &laquo;
locale &raquo; : biblioth&egrave;que de pages de manuel 5 ou 7
:</p>
<p></p>
<pre class="SCREEN">
       bash# man 5 locale
        bash# man 7 locale
</pre></div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN769" id="AEN769">Les
variables</a></h3>
<p>Ces variables doivent &ecirc;tre export&eacute;es &agrave;
chaque login : mettez les donc dans <tt class=
"LITERAL">.bashrc</tt> et <tt class=
"LITERAL">.bash&amp;lowbar;login</tt>, <tt class=
"LITERAL">.tcshrc</tt> ou /etc/profile :</p>
<p></p>
<pre class="SCREEN">
# pour tcsh, utiliser setenv au lieu de export, par exemple &laquo;setenv LANG fr&raquo;

# Les locales
LC_CTYPE=ISO-8859-1
LANGUAGE=fr
LC_MESSAGES=fr
LC_ALL=fr
LANG=fr
LESSCHARSET=latin1
export LC_CTYPE LANGUAGE LC_MESSAGES LC_ALL LANG LESSCHARSET

# Les raccourcis : sans ll ou d, impossible de voir les fichiers comprenant des
# caract&egrave;res 8 bits ...
alias q="cd .."
alias ll="ls --color=auto -a -N -l"
alias d="ls --color=auto -a -N"
alias indent="indent -kr"
alias netscape="export LC_ALL=en_EN ; netscape $* ; LC_ALL=fr_FR"

# Au cas o&ugrave; Del/BackSpace ne fonctionne pas, essayez l'un des deux :
#stty erase ^?
#stty erase ^H
</pre>
<p>N'oubliez pas : tous les fichiers ici cit&eacute;s dont le nom
commence par &laquo; . &raquo; doivent se trouver dans votre
r&eacute;pertoire maison &nbsp;/</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN778" id="AEN778">Les
caract&egrave;res 8 bits dans les programmes utilisant readline
tels bash ou ncftp...</a></h3>
<p>Readline est une librairie de saisie de caract&egrave;res avec
historique et compl&eacute;tion ; elle est utilis&eacute;e par de
nombreux programmes comme bash, ncftp, gnuplot...</p>
<p>Par d&eacute;faut, le 8e bit sert &agrave; coder la touche
Meta.</p>
<p>Elle est utilis&eacute;e pour coder certaines commandes mais la
touche &laquo; Escape &raquo; ou &laquo; &Eacute;chap &raquo; peut
la remplacer.</p>
<p>Si vous souhaitez voir et saisir des accents avec les
applications compil&eacute;es avec readline, comme bash pour les
versions sup&eacute;rieures &agrave; 1.13, ajoutez ceci dans votre
fichier $INPUTRC, par d&eacute;faut <tt class=
"LITERAL">&tilde;/.inputrc</tt>) :</p>
<p></p>
<pre class="SCREEN">
# Permettre de rentrer &amp; recevoir des caract&egrave;res accentu&eacute;s
set meta-flag on
set convert-meta off
set input-meta on
set output-meta on

# Pas de bip audible mais visible
# set bell-style visible

# Pour faire marcher Home, End, Delete, Esc + Delete &amp; Esc + BackSpace
"\e[1&tilde;":beginning-of-line
"\e[3&tilde;":delete-char
"\e[4&tilde;":end-of-line
"\e\C-h": backward-kill-word
"\e\e[3&tilde;": kill-word
</pre>
<p>Cela vous permettra d'effacer des caract&egrave;res vers l'avant
avec &laquo; Delete &raquo; et vers l'arri&egrave;re avec &laquo;
BackSpace &raquo;, ceci n'&eacute;tant pas pr&eacute;vu sur les
tables de clavier par d&eacute;faut &laquo; mimant &raquo; le
comportement d'un clavier de console VT100 .</p>
<p>Les deux derni&egrave;res options vous permettront d'utiliser
&laquo; Home &raquo; et &laquo; End &raquo; pour aller au
d&eacute;but et &agrave; la fin de la ligne en cours
d'&eacute;dition.</p>
<p>Pour pouvoir employer une touche il suffit d'obtenir son code et
l'associer &agrave; une fonction gr&acirc;ce &agrave; ce fichier ;
pour obtenir le code d'une touche invoquer cat puis appuyer sur la
touche : son code appara&icirc;t.</p>
<p>Le code physique :</p>
<p></p>
<pre class="SCREEN">
       ^[
</pre>
<p>correspond &agrave; la s&eacute;quence d'&eacute;chappement.</p>
<p>Par exemple, si le code de &laquo; Home &raquo; est &laquo;
&circ;&amp;lsqb;&amp;lsqb;7&nbsp; &raquo; il suffit d'ajouter une
ligne :</p>
<p></p>
<pre class="SCREEN">
       "\e[7~": beginning-of-line
</pre>
<p>au <tt class="LITERAL">.inputrc</tt>.</p>
<p>Plus de documentation est disponible sur la page de manuel de
bash, section <tt class="LITERAL">READLINE</tt>.</p>
<p>On peut aussi, gr&acirc;ce &agrave; la variable d'environnement
<tt class="LITERAL">INPUTRC</tt>, utiliser un fichier commun
&agrave; tous les utilisateurs.</p>
<p>Enfin, je vous recommande d'utiliser ce fichier <tt class=
"LITERAL">.bashrc</tt> &agrave; placer dans votre r&eacute;pertoire
maison :</p>
<p></p>
<pre class="SCREEN">
# ~/.bashrc : ex&eacute;cut&eacute; par bash(1) pour les shells lanc&eacute;s apr&egrave;s le login.

# Le path
PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/usr/local/bin"

# Le prompt
PS1="(\u@\h:\W)$ "

# L'utilisateur
ENV=$HOME/.bashrc
USERNAME="votre nom"

# Les locales
_CTYPE=ISO-8859-1
LANGUAGE=fr
LC_MESSAGES=fr
LC_ALL=fr
LANG=fr
LESSCHARSET=latin1
export LC_CTYPE LANGUAGE LC_MESSAGES LC_ALL LANG LESSCHARSET

# Les raccourcis
alias q="cd .."
alias ll="ls --color=auto -a -N -l"
alias d="ls --color=auto -a -N"
alias indent="indent -kr"
alias elm-box="elm -f ~/Mail/Inbox"
alias netscape="export LC_ALL=en_EN ; netscape $* ; LC_ALL=fr_FR"

# Au cas o&ugrave; Del/BackSpace ne fonctionne pas, essayez l'un des deux :
#stty erase 
#stty erase ^H

# Refuser le talk &amp; le write
#mesg n

# Permettre les coredumps
#ulimit -c nombre_max_de_Ko

#Fixer le masque de cr&eacute;ation de fichiers
#umask 022
</pre>
<p>Le fichier .bash&amp;lowbar;profile ou .bash&amp;lowbar;login,
ex&eacute;cut&eacute; par bash(1) lors des logins, y est
strictement identique mais peut, si vous le voulez,
pr&eacute;senter des diff&eacute;rences pour afficher par exemple
une citation en la&ccedil;ant le programme &laquo; fortune
&raquo;.</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN808" id="AEN808">zsh</a></h3>
<p>Celui-ci devrait se contenter d'un <tt class="LITERAL">stty
pass8</tt>.</p>
<p>Si cela ne suffisait pas, rajouter dans le <tt class=
"LITERAL">.zshrc</tt> ou dans <tt class=
"LITERAL">/etc/zshrc</tt>:</p>
<p></p>
<pre class="SCREEN">
       bindkey "\e[2~"  yank
        bindkey "\e[3~"  delete-char
        bindkey "\e[1~"  beginning-of-line
        bindkey "\e[4~"  end-of-line
        bindkey "\e[5~"  up-line-or-history
        bindkey "\e[6~"  down-line-or-history
</pre></div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN817" id="AEN817">tcsh</a></h3>
<p>Pour tcsh, placer, dans le fichier <tt class=
"LITERAL">/etc/csh.login</tt> ou dans les fichiers <tt class=
"LITERAL">.tcshrc</tt> des utilisateurs concern&eacute;s, les
variables indiqu&eacute;es plus haut en rempla&ccedil;ant export
par setenv:</p>
<p></p>
<pre class="SCREEN">
       setenv LC_CTYPE=ISO-8859-1
        setenv LANGUAGE=fr
        setenv LC_MESSAGES=fr
        setenv LC_ALL=fr
        setenv LANG=fr
        setenv LESSCHARSET=latin1
</pre></div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN824" id="AEN824">Pour tous les
shells</a></h3>
<p>Remplacer 'iso&amp;lowbar;8859&amp;lowbar;1' par 'iso-8859-1' si
cela ne fonctionne pas, voire french.iso88591.fr&amp;lowbar;FR ou
fr&amp;lowbar;BR, fr&amp;lowbar;CA, fr&amp;lowbar;CH,
fr&amp;lowbar;LU...</p>
<p>&Agrave; propos de LANG, il vaut mieux &eacute;viter
fr&amp;lowbar;FR et lui pr&eacute;f&eacute;rer fr car certains
programmes ne passent pas vraiment par la resolution de locales
mais lisent LANG directement...</p>
<p>Si nls est install&eacute;, les routines correspondantes sont
utilis&eacute;es, sinon tcsh agit en
iso&amp;lowbar;8859&amp;lowbar;1, quelle que soit les valeurs
donn&eacute;es &agrave; LANG et LC&amp;lowbar;CTYPE : cf. la
section NATIVE LANGUAGE SYSTEM de tcsh(1).</p>
<p>Selon le Danish-HOWTO, utiliser :</p>
<p></p>
<pre class="SCREEN">
       (guylhem@victis:tcsh)# setenv LC_CTYPE ISO-8859-1
        (guylhem@victis:tcsh)# stty pass8
</pre></div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN832" id="AEN832">L'heure</a></h3>
<p>Rien n'est plus facile que de laisser &agrave; Linux le soin de
passer de l'heure d'&eacute;t&eacute; &agrave; l'heure d'hiver et
r&eacute;ciproquement...</p>
<p>a) D'abord, quelle heure est-il :-) ?</p>
<p>Apr&egrave;s avoir regard&eacute; sur la pendule la plus proche
de vous, tapez :</p>
<p><tt class="LITERAL">clock</tt></p>
<p>puis</p>
<p><tt class="LITERAL">date</tt></p>
<p>La premi&egrave;re heure est celle du bios, la seconde celle
calcul&eacute;e par Linux &agrave; partir de <tt class=
"LITERAL">/etc/zoneconfig</tt>.</p>
<p>Pour peu que vous ayez install&eacute; timezone, votre machine
peut jongler ais&eacute;ment entre les diff&eacute;rents fuseaux
horaires... ce que les DOS ou Windows ne permettent pas !</p>
<p>b) L'heure du choix !</p>
<p>De l&agrave;, deux possibilit&eacute;es : soit vous
d&eacute;cidez de laisser l'heure syst&egrave;me &agrave; l'heure
locale, peu pratique, except&eacute; si vous h&eacute;bergez aussi
sur votre disque dur ces syst&egrave;mes d'exploitation peu
&eacute;volu&eacute;, ne sachant m&ecirc;me pas exploiter les
fuseaux horaires, soit vous passez &agrave; l'heure de Greenwich,
Linux se chargeant de l'adapter &agrave; votre fuseau horaire.</p>
<p>Dans ce cas, les grands voyages &agrave; l'&eacute;tranger avec
un portable tout neuf &eacute;quip&eacute; de Linux se feront en
toute simplicit&eacute; : le dernier paragraphe vous expliquera
comment changer de fuseau horaire facilement...</p>
<p>c) Le r&eacute;glage</p>
<p>Pour proc&eacute;der, regardez d'abord si l'heure syst&egrave;me
retourn&eacute;e par clock est l'heure locale ou l'heure de
Greenwich.</p>
<p>Vous avez bien regard&eacute; une pendule comme je vous le
conseille plus haut, n'est-ce pas ?</p>
<p>Si clock vous retourne l'heure locale, il va falloir jongler un
peu avec les fuseaux horaires, sinon passez directement &agrave;
l'&eacute;tape &laquo; r&eacute;glage du fuseau &raquo;.</p>
<p></p>
<ul>
<li>
<p>Pour les fran&ccedil;ais, belges wallons et suisses romands
:</p>
</li>
</ul>
<p>Vous &ecirc;tes normalement dans une zone horaire MET (Medium
European Time, soit GMT+1).</p>
<p>La zone &laquo; MET DST &raquo; correspond elle &agrave; l'heure
d'&eacute;t&eacute; active (GMT + 2).</p>
<p>Selon les d&eacute;cisions futures de la cour europ&eacute;enne,
l'heure d'&eacute;t&eacute; &laquo; daylight savings &raquo; risque
d'&ecirc;tre abandonn&eacute;... ce qui compliquera cette
explication !</p>
<p></p>
<ul>
<li>
<p>Pour les canadiens fran&ccedil;ais :</p>
</li>
</ul>
<p>Vous &ecirc;tes dans une zone horaire GMT-4 si vous habitez
autour de Montr&eacute;al .</p>
<p>Pour les autres provinces, consulter un dictionnaire !</p>
<p>Premi&egrave;rement, effacez le fichier /etc/localtime ou
/usr/lib/zoneinfo/localtime (l'emplacement varie selon les
distributions ; si vous avez les deux fichiers, effacez
/etc/localtime : l'autre fichier doit certainement &ecirc;tre un
lien vers /etc/localtime).</p>
<p>D&egrave;s lors, clock et date doivent vous retourner la
m&ecirc;me heure...</p>
<p></p>
<ul>
<li>
<p>Pour les canadiens fran&ccedil;ais : utilisez GMT+4</p>
</li>
</ul>
<p></p>
<ul>
<li>
<p>Pour les fran&ccedil;ais, belges wallons et suisses romands
:</p>
</li>
</ul>
<p>Si vous lisez ce document en &eacute;t&eacute;, le
d&eacute;calage de l'heure locale par rapport &agrave; l'heure de
Greenwich est de deux heures, on va donc mettre temporairement le
fuseau en GMT-2, soit vous lisez ce document en hiver et il
convient de remplacer tous les &laquo; 2 &raquo; par des &laquo; 1
&raquo; dans les exemples suivants...</p>
<p>GMT-2 ?!!? Alors que le fuseau est GMT+2 ?</p>
<p>Ceci va vous retourner l'heure de Greenwich dont on a besoin
pour r&eacute;gler le syst&egrave;me : tapez :</p>
<p><tt class="LITERAL">ln -sf /usr/lib/zoneinfo/Etc/GMT-2
/etc/zoneconfig</tt></p>
<p><tt class="LITERAL">clock</tt></p>
<p><tt class="LITERAL">date</tt></p>
<p>L'heure calcul&eacute;e correspond donc &agrave; l'heure de
Greenwich, l'heure syst&egrave;me &agrave; l'heure locale... soit
l'inverse de ce que l'on veut.</p>
<p>Un simple : <tt class="LITERAL">clock -w</tt></p>
<p>Va alors mettre l'heure du syst&egrave;me en heure de Greenwich,
utilisant pour cela l'heure locale invers&eacute;e volontairement
avec l'heure syst&egrave;me.</p>
<p>d) R&eacute;gler le fuseau horaire :</p>
<p>Tapez alors : <tt class="LITERAL">ln -sf
/usr/lib/zoneinfo/Europe/Votre-ville /etc/zoneconfig</tt></p>
<p>Et voil&agrave; ! Le syst&egrave;me est &agrave; l'heure de
Greenwich, la conversion vers le fuseau horaire local et l'heure
d'&eacute;t&eacute; se faisant automatiquement.</p>
<p>Si vous habitez hors Europe, proc&eacute;dez de m&ecirc;me en
rempla&ccedil;ant les &laquo; -2 &raquo; par &laquo; X &raquo;, X
repr&eacute;sentant l'oppos&eacute; de votre d&eacute;calage
horaire (par exemple -4 au Qu&eacute;bec, donc X=+4...)</p>
<p>e) Modifier le fuseau horaire :</p>
<p>Si vous partez &agrave; l'&eacute;tranger, il est alors simple
de modifier l'heure locale de votre portable : par exemple si vous
partez pour Moscou :</p>
<p><tt class="LITERAL">ln -sf /usr/lib/zoneinfo/Europe/Moscow
/etc/zoneconfig</tt></p>
<p>Tr&egrave;s simple et tr&egrave;s utile : plus besoin de se
souvenir du d&eacute;calage horaire (plus ou moins X heures)
puisque Linux se charge d&eacute;sormais de tout !</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN898" id="AEN898">vi</a></h3>
<p>Normalement, aucune modification n'est n&eacute;cessaire
&agrave; part l'utilisation de loadkeys (d&eacute;taill&eacute;e
plus haut).</p>
<p>Ce fichier <tt class="LITERAL">.vimrc</tt> pourrait toutefois
vous &ecirc;tre utile si vous utilisez <tt class="LITERAL">vim</tt>
au lieu d'<tt class="LITERAL">elvis</tt> :</p>
<p></p>
<pre class="SCREEN">
" Les guillemets anglais &laquo; " &raquo; signifient &laquo; mis en commentaire &raquo;

" &Eacute;viter un avertissement &laquo; version incorrecte &raquo; :
version 4.0

" Utiliser les d&eacute;fauts de vim, bien mieux
set nocompatible

" Autoriser le &laquo; BackSpace &raquo; sur tout :
set bs=2

" Police &agrave; utiliser sous X11 :
"set guifont=-misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1

" Fixer la c&eacute;sure automatique de la ligne &agrave; N caract&egrave;res :
set tw=72

" Faire appara&icirc;tre les tabulations et les espaces
set list

" Changer les d&eacute;fauts pour voir les espaces inutiles et les tabulations
set listchars=tab:&raquo;&middot;,trail:&middot;
hi nontext ctermfg=red
hi nontext ctermbg=blue

" Indentation (pour les programmeurs) :
" set cindent

" R&eacute;glages souris :
"set mouse=a

" Ligne
set nowrapscan

" Montrer les correspondances :
set showmatch

" Montrer le mode
set showmode

" Indentation intelligente (pour les programmeurs) :
" set uc=0

" Faire fonctionner BackSpace :
set t_kD=^?

" Doit se trouver apr&egrave;s
map ^H X

" Faire fonctionner Delete  :
map \e[3~ x

" Cacher la souris lorsqu'on tape :
set mousehide

" Faire voir les correspondances lors de recherches :
" set hlsearch

" Colorer &agrave; l'int&eacute;rieur des commentaires en C :
let c_comment_strings=1

" Couleur pour xiterm, rxvt, nxterm, color-xterm :
if has("terminfo")
    set t_Co=8
    set t_Sf=\e[3%p1%dm
    set t_Sb=\e[4%p1%dm
 else
    set t_Co=8
    set t_Sf=\e[3%dm
    set t_Sb=\e[4%dm
endif

" Coloration syntaxique :
if ett_Co &gt; 1
   syntax on
endif

" Autoriser l'&eacute;dition de fichiers gzipp&eacute;s

augroup gzip
  " Supprimer toutes les autocommandes
  au!
  autocmd BufReadPre,FileReadPre        *.gz set bin
  autocmd BufReadPost,FileReadPost      *.gz '[,']!gunzip
  autocmd BufReadPost,FileReadPost      *.gz set nobin
  autocmd BufReadPost,FileReadPost      *.gz execute ":doautocmd BufReadPost " .  expand("%:r")

  autocmd BufWritePost,FileWritePost    *.gz !mv &lt;afile&gt; &lt;afile&gt;:r
  autocmd BufWritePost,FileWritePost    *.gz !gzip &lt;afile&gt;:r

  autocmd FileAppendPre                 *.gz !gunzip &lt;afile&gt;
  autocmd FileAppendPre                 *.gz !mv &lt;afile&gt;:r &lt;afile&gt;
  autocmd FileAppendPost                *.gz !mv &lt;afile&gt; &lt;afile&gt;:r
  autocmd FileAppendPost                *.gz !gzip &lt;afile&gt;:r
augroup END

augroup bzip
  au!
  autocmd BufReadPre,FileReadPre        *.bz2 set bin
  autocmd BufReadPost,FileReadPost      *.bz2 '[,']!bunzip2
  autocmd BufReadPost,FileReadPost      *.bz2 set nobin
  autocmd BufReadPost,FileReadPost      *.bz2 execute ":doautocmd BufReadPost " .  expand("%:r") 
  autocmd BufWritePost,FileWritePost    *.bz2 !mv &lt;afile&gt; &lt;afile&gt;:r
  autocmd BufWritePost,FileWritePost    *.bz2 !bzip2 &lt;afile&gt;:r

  autocmd FileAppendPre                 *.bz2 !bunzip2 &lt;afile&gt;
  autocmd FileAppendPre                 *.bz2 !mv &lt;afile&gt;:r &lt;afile&gt;
  autocmd FileAppendPost                *.bz2 !mv &lt;afile&gt; &lt;afile&gt;:r
  autocmd FileAppendPost                *.bz2 !bzip2 &lt;afile&gt;:r
augroup END

augroup cprog
  au!
  autocmd BufRead *       set formatoptions=tcql nocindent comments&amp;
  autocmd BufRead *.c,*.h set formatoptions=croql cindent comments=sr:/*,mb:*,el:*/,://
augroup END&#13;
</pre></div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN907" id="AEN907">Emacs</a></h3>
<p>Voici un fichier de configuration de base pour employer les
accents.</p>
<p></p>
<pre class="SCREEN">
  ;;
  ;; Fichier .emacs: initialisation d'emacs
  ;; Tir&eacute; du Guide du Rootard
  ;;

  (display-time)                     ;; Pour avoir l'heure dans la barre d'&eacute;tat
  (setq display-time-24hr-format t)  ;; Format 24 heures

  ;; Nouveaux modes
  (autoload 'c++-mode   "cplus-md" "C++ Editing Mode" t)
  (autoload 'perl-mode   "perl-mode" "Perl Editing Mode" t)
  (autoload 'c-mode "c-mode" "C Editing Mode" t)
  ; mieux vaudrait utiliser le "cc-mode"

  (autoload 'jargon-mode "jargon" "Jargon Mode" t)

  ;; Auto-Mode Settings : positionne le mode selon l'extension
  (setq auto-mode-alist
  (append '(("\.c$"  . c-mode)    ;; utilise le mode C++ m&ecirc;me pour C
  ("\.h$"  . c-mode)
  ("\.C$"  . c++-mode)
  ("\.H$"  . c++-mode)
  ("\.cc$" . c++-mode)
  ("\.C$"  . c++-mode)
  ("\.pl$" . perl-mode)           ;; Perl
  ("/tmp/snd\.[0-9]*" . text-mode);; Text (pour le courriel)
  ("[Rr][Ee][0-9]*" . text-mode)
  ("\.ada$"  . ada-mode)          ;; Ada
  ("\.spec$"  . ada-mode)
  ("\.body$"  . ada-mode)
  ("makefile$" . makefile-mode)  ;; Makefile
  ("Makefile$" . makefile-mode)
  ("Imakefile$" . makefile-mode))
  auto-mode-alist))

  ; Remappages vari&eacute;s &agrave; mettre ici
  (global-set-key "\eg" 'goto-line)       ;; ESC G = Aller &agrave; une ligne

  (put 'eval-expression 'disabled nil)

  ;; Accents...
  (standard-display-european 1)
  (load-library "iso-syntax")
  (set-input-mode (car (current-input-mode))
                (nth 1 (current-input-mode))
                0)

  ;; Sous X-Window, texte en couleurs (C/C++/Shell/Makefile,etc)
  (cond (window-system
  (setq hilit-mode-enable-list  '(not text-mode)
  hilit-background-mode   'light
  hilit-inhibit-hooks     nil
  hilit-inhibit-rebinding nil)
  (require 'hilit19)
  ))
  (if (not (equal window-system ""))
  (global-set-key "\C-?" 'delete-char))
  ))
</pre>
<p>Le Keyboard-HOWTO conseille quand &agrave; lui :</p>
<p></p>
<pre class="SCREEN">
          (standard-display-european t)
          (set-input-mode nil nil 1)
          (require 'iso-syntax)
          (load-library "iso-insert.el")
          (define-key global-map [?\C-.] 8859-1-map)
</pre>
<p>Utilisez une version au moins &eacute;gale &agrave; 19.27,
modifiez le fichier global (commun &agrave; tous les utilisateurs)
<tt class="LITERAL">/usr/lib/emacs/site-lisp/site-start.el</tt> ou
le <tt class="LITERAL">./emacs</tt> de chaque utilisateur
concern&eacute; pour y ajouter :</p>
<p></p>
<pre class="SCREEN">
       (standard-display-european t)
        (set-input-mode (car (current-input-mode))
          (nth 1 (current-input-mode))
          0)
        (global-set-key [delete]   'delete-char)
        (global-set-key [home]     'beginning-of-line)
        (global-set-key [end]      'end-of-line)
        (global-set-key [prior]    'scroll-down)
        (global-set-key [next]     'scroll-up)
        (global-set-key [C-right]  'forward-word)
        (global-set-key [C-left]   'backward-word)
        (global-set-key [C-prior]  'beginning-of-buffer)
        (global-set-key [C-next]   'end-of-buffer)
        (global-set-key "\033[A"  'previous-line)
        (global-set-key "\033[B"  'next-line)
        (global-set-key "\033[C"  'forward-char)
        (global-set-key "\033[D"  'backward-char)
        (global-set-key "\033[H"  'beginning-of-line)
        (global-set-key "\033[Y"  'end-of-line)
        (global-set-key "\033[1~" 'beginning-of-line)
        (global-set-key "\033[2~" 'overwrite-mode)
        ;; le delete-char peut correspondre &agrave; \004 ou &agrave; \033[3~
        (global-set-key "\033[3~" 'delete-char)
        (global-set-key "\033[4~" 'end-of-line)
        (global-set-key "\033[5~" 'scroll-down)
        (global-set-key "\033[6~" 'scroll-up)
</pre>
<p>Pour les autres versions :</p>
<p></p>
<ul>
<li>
<p>19.19 :</p>
<pre class="SCREEN">
       (standard-display-european 1)
        (set-input-mode (car (current-input-mode))
          (nth 1 (current-input-mode))
          0)
</pre>
Lire &agrave; ce propos le fichier emacs.info.</li>
<li>
<p>19.22 :</p>
<pre class="SCREEN">
       (load-library "iso-transl")
        (standard-display-european t)
</pre></li>
<li>
<p>Autres :</p>
<pre class="SCREEN">
       (standard-display-european 1)
        (load-library "iso-transl")
</pre></li>
</ul>
<p>XEmacs les accepte lui par d&eacute;faut sans broncher mais peut
des fois rencontrer des probl&egrave;mes avec les BackSpaces dans
le mini-buffer en console.</p>
<p>Ajouter dans le <tt class="LITERAL">.emacs</tt> :</p>
<pre class="SCREEN">
(if (eq window-system 'x)
    (global-set-key (read-kbd-macro "DEL") 'delete-char)
  (or (global-set-key "^[[3~" 'delete-char))
)
</pre>
<p>Le mode ispell d'emacs a un certain nombre de dictionnaires
pr&eacute;d&eacute;finis qui ne sont pas forcement ceux qui sont en
place sur le syst&egrave;me.</p>
<p>Si vous constatez des probl&egrave;mes, vous devez
red&eacute;finir la liste ispell-dictionary-alist des
dictionnaires.</p>
<p>Cette liste contient :</p>
<ul>
<li>
<p>le nom du dictionnaire</p>
</li>
<li>
<p>la liste des caract&egrave;res composant un mot</p>
</li>
<li>
<p>la lise oppos&eacute;e des caract&egrave;res ne composant pas un
mot</p>
</li>
<li>
<p>les caract&egrave;res de liaison &agrave; l'int&eacute;rieur des
mots ("-", "'"...)</p>
</li>
<li>
<p>vrai ou faux si ces caract&egrave;res peuvent &ecirc;tre
pr&eacute;sents en plusieurs exemplaire dans le mot</p>
</li>
<li>
<p>une liste d'arguments pour ispell</p>
</li>
<li>
<p>le mode d'ispell (tex, nroff..)</p>
</li>
</ul>
<p>Par exemple, dans le fichier <tt class="LITERAL">.emacs</tt>
:</p>
<p></p>
<pre class="SCREEN">
(setq ispell-dictionary-alist
 '((nil  ; francais.aff
  "[A-Za-z&Agrave;&Acirc;&Ccedil;-&Euml;&Icirc;&Iuml;&Ocirc;&Ugrave;&Ucirc;&Uuml;&agrave;&acirc;&ccedil;-&euml;&icirc;&iuml;&ocirc;&ugrave;&ucirc;&uuml;]" "[^A-Za-z&Agrave;&Acirc;&Ccedil;-&Euml;&Icirc;&Iuml;&Ocirc;&Ugrave;&Ucirc;&Uuml;&agrave;&acirc;&ccedil;-&euml;&icirc;&iuml;&ocirc;&ugrave;&ucirc;&uuml;]"
  "[---']" nil ("-n") "~nroff")
 ("english"  ; rosbif
  "[A-Za-z]" "[^A-Za-z]" "[---']" nil ("-B") nil)
 ("american" ; yankee
  "[A-Za-z]" "[^A-Za-z]" "[---']" nil nil nil)
 ("francais" ; fran&ccedil;ais
  "[A-Za-z&Agrave;&Acirc;&Ccedil;-&Euml;&Icirc;&Iuml;&Ocirc;&Ugrave;&Ucirc;&Uuml;&agrave;&acirc;&ccedil;-&euml;&icirc;&iuml;&ocirc;&ugrave;&ucirc;&uuml;]" "[^A-Za-z&Agrave;&Acirc;&Ccedil;-&Euml;&Icirc;&Iuml;&Ocirc;&Ugrave;&Ucirc;&Uuml;&agrave;&acirc;&ccedil;-&euml;&icirc;&iuml;&ocirc;&ugrave;&ucirc;&uuml;]"
  "[---']" nil ("-n") "~nroff")
 ("francais-TeX" ; fran&ccedil;ais
  "[A-Za-z&Agrave;&Acirc;&Ccedil;-&Euml;&Icirc;&Iuml;&Ocirc;&Ugrave;&Ucirc;&Uuml;&agrave;&acirc;&ccedil;-&euml;&icirc;&iuml;&ocirc;&ugrave;&ucirc;&uuml;\\]" "[^A-Za-z&Agrave;&Acirc;&Ccedil;-&Euml;&Icirc;&Iuml;&Ocirc;&Ugrave;&Ucirc;&Uuml;&agrave;&acirc;&ccedil;-&euml;&icirc;&iuml;&ocirc;&ugrave;&ucirc;&uuml;\\]"
  "[---'^`\"]" t nil "~tex")
 ("espanol" ; espa~nol.aff
  "[A-Za-z&aacute;&eacute;&iacute;&oacute;&uacute;&uuml;&ntilde;&Aacute;&Eacute;&Iacute;&Oacute;&Uacute;&Uuml;&Ntilde;]" "[^A-Za-z&aacute;&eacute;&iacute;&oacute;&uacute;&uuml;&ntilde;&Aacute;&Eacute;&Iacute;&Oacute;&Uacute;&Uuml;&Ntilde;]"
  "[---'^`\"]" t nil "~nroff")
 ("dansk" ; danois et norv&eacute;gien
  "[A-Za-z&aring;&Aring;&oslash;&Oslash;&aelig;&AElig;&eacute;&Eacute;&egrave;&Egrave;]" "[^A-Za-z&aring;&Aring;&oslash;&Oslash;&aelig;&AElig;&eacute;&Eacute;&egrave;&Egrave;]"
  "[---'^`\"]" t nil "~nroff")
 ))
</pre>
<p>Le dictionnaire "francais-TeX" est un lien symbolique sur
"francais" qui permet d'ajouter une entr&eacute;e pour les accents
&agrave; la TeX (ex: \'e).</p>
<p>Si vous utilisez X11, vous voudrez peut-&ecirc;tre reconstruire
les menus et il vous faudra recharger une partie de
lisp/loaddefs.el dans votre <tt class="LITERAL">.emacs</tt> :</p>
<p></p>
<pre class="SCREEN">
(setq ispell-menu-map nil)

  (if ispell-menu-map-needed
  (let ((dicts (reverse (cons (cons "default" nil) ispell-dictionary-alist)))
    name)
    ;; Can put in defvar when external defines are removed.
    (setq ispell-menu-map (make-sparse-keymap "Spell"))
    (while dicts
  (setq name (car (car dicts))
    dicts (cdr dicts))
  (if (stringp name)
  (define-key ispell-menu-map (vector (intern name))
    (cons (concat "Select " (capitalize name))
  (list 'lambda () '(interactive)
    (list 'ispell-change-dictionary name))))))))

  (if ispell-menu-map-needed
  (progn
    ;; Define commands in opposite order you want them to appear in menu.
    (define-key ispell-menu-map [ispell-change-dictionary]
  '("Change Dictionary" . ispell-change-dictionary))
    (define-key ispell-menu-map [ispell-kill-ispell]
  '("Kill Process" . ispell-kill-ispell))
    (define-key ispell-menu-map [ispell-pdict-save]
  '("Save Dictionary" . (lambda () (interactive) (ispell-pdict-save t))))
    (define-key ispell-menu-map [ispell-complete-word]
  '("Complete Word" . ispell-complete-word))
    (define-key ispell-menu-map [ispell-complete-word-interior-frag]
  '("Complete Word Frag" . ispell-complete-word-interior-frag))
    (define-key ispell-menu-map [ispell-continue]
  '("Continue Check" . ispell-continue))
    (define-key ispell-menu-map [ispell-region]
  '("Check Region" . ispell-region))
    (define-key ispell-menu-map [ispell-word]
  '("Check Word" . ispell-word))
    (define-key ispell-menu-map [ispell-buffer]
  '("Check Buffer" . ispell-buffer))
    (define-key ispell-menu-map [ispell-message]
  '("Check Message" . ispell-message))
    (define-key ispell-menu-map [ispell-help]
  '("Help" . (lambda () (interactive) (describe-function 'ispell-help))))
    (put 'ispell-region 'menu-enable 'mark-active)))

  (fset 'ispell-menu-map (symbol-value 'ispell-menu-map))
</pre></div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN963" id="AEN963">less</a></h3>
<p><tt class="LITERAL">/etc/profile</tt> ou les fichiers de
d&eacute;marrage du shell (comme <tt class="LITERAL">.bashrc</tt>
et <tt class="LITERAL">.bash&amp;lowbar;profile</tt> dans votre
r&eacute;pertoire maison) doivent contenir :</p>
<p></p>
<pre class="SCREEN">
export LESSCHARSET=latin1
</pre>
<p>Comme fichier <tt class="LITERAL">.lessrc</tt> je vous
recommande :</p>
<p></p>
<pre class="SCREEN">
\e[B    forw-line
\e[A    back-line
\e[6~   forw-scroll
\e[5~   back-scroll
\e[1~   goto-line
\e[4~   goto-end
\e[C    next-file
\e[D    prev-file
\eOA    back-line
\eOB    forw-line
</pre>
<p>Pour rentrer un Esc (parfois nomm&eacute; &Eacute;chap) taper
&laquo; \e &raquo; ou, sous vi, mettez vous en mode insertion avec
i puis tapez &laquo; ctrl+v &raquo; et enfin &laquo; Esc
&raquo;.</p>
<p>Ce fichier permet d'utiliser les touches &laquo; Home &raquo;,
&laquo; End &raquo;, &laquo; Page&amp;lowbar;Up &raquo; &amp;
&laquo; Page&amp;lowbar;Down &raquo;.</p>
<p>Pour s'en servir, taper :</p>
<p></p>
<pre class="SCREEN">
lesskey -o .less .lessrc
</pre>
<p>N'oubliez pas de mettre le fichier .less dans votre
r&eacute;pertoire maison : il permet d'employer les touches
fl&eacute;ch&eacute;es, &laquo; Page&amp;lowbar;Up &raquo;, &laquo;
Page&amp;lowbar;Down &raquo;, &laquo; Home &raquo; et &laquo; End
&raquo;.</p>
<p>Ne pas n&eacute;gliger la page de manuel de less car il peut
&ecirc;tre int&eacute;ressant de changer la valeur de sa variable
d'environnement de configuration ("LESS").</p>
<p>J'utilise : '-C -M -i -x2'</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN983" id="AEN983">ls</a></h3>
<p>Utilisez les options :</p>
<p></p>
<pre class="SCREEN">
-N --color=auto
</pre>
<p>ou, plus simplement, d&eacute;finissez dans les fichiers de
d&eacute;marrage de votre shell les alias suivants permettant de
voir les fichiers dont le nom comprend des caract&egrave;res 8 bits
:</p>
<p></p>
<pre class="SCREEN">
alias ll="ls --color=auto -N -l -a"
alias d="ls --color=auto -N"
</pre>
<p>Un simple <tt class="LITERAL">d</tt> remplacera le classique
<tt class="LITERAL">ls</tt>, en y ajoutant la couleur, alors que
<tt class="LITERAL">ll</tt> vous offrira une liste compl&egrave;te
de tous les fichiers pr&eacute;sents dans le r&eacute;pertoire,
avec leurs attributs, leurs tailles...</p>
<p>--color=auto est pr&eacute;f&eacute;rable car --color=yes fera
avoir des codes escape lorsqu'on redirige vers un fichier ou un
programme o&ugrave; si le terminal ne supporte pas la couleur.</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN996" id="AEN996">flex</a></h3>
<p>Donnez l'option :</p>
<p></p>
<pre class="SCREEN">
-8
</pre>
<p>si l'analyseur g&eacute;n&eacute;r&eacute; doit accepter les
entr&eacute;es 8-bits (bien s&ucirc;r qu'il doit le faire !).</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN1002" id="AEN1002">elm</a></h3>
<p>Rajoutez ces trois lignes dans votre <tt class=
"LITERAL">.elm/elmrc</tt> :</p>
<p></p>
<pre class="SCREEN">
  charset = iso-8859-1
  displaycharset = iso-8859-1
  textencoding = 8bit 
</pre></div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN1008" id="AEN1008">col</a></h3>
<p>Assurez-vous :</p>
<p>1) qu'il a &eacute;t&eacute; corrig&eacute; et fasse un</p>
<p></p>
<pre class="SCREEN">
setlocale(LC_CTYPE,"");
</pre>
<p>2) de d&eacute;finir</p>
<p></p>
<pre class="SCREEN">
LC_CTYPE=ISO-8859-1
</pre>
<p>dans l'environment.</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN1018" id="AEN1018">rlogin</a></h3>
<p>Utilisez l'option :</p>
<p></p>
<pre class="SCREEN">
-8
</pre></div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN1023" id="AEN1023">joe</a></h3>
<p>Utiliser <a href=
"ftp://metalab.unc.edu:/pub/Linux/apps/editors/joe-2.8.tar.gz"
target="_top">joe 2.8</a> ou plus r&eacute;cent qui devraient
fonctionner apr&egrave;s &eacute;dition du fichier de configuration
: placer l'option -asis dans <tt class=
"LITERAL">/usr/lib/joerc</tt> en premi&egrave;re colonne.</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN1028" id="AEN1028">TeX et
LaTeX</a></h3>
<p>Le plus simple consiste &agrave; employer GuTemberg, une
distribution de LaTeX avec tous les d&eacute;fauts
r&eacute;gl&eacute;s pour des francophones par des francophones
!</p>
<p>Mais si vous pr&eacute;f&eacute;rez une version <tt class=
"LITERAL">standard</tt> non modifi&eacute;e, il suffit d'ajouter au
d&eacute;but de chaque fichier :</p>
<p></p>
<ul>
<li>
<p>Pour LaTeX:</p>
<pre class="SCREEN">
\documentstyle[isolatin]{article}
</pre></li>
<li>
<p>Pour LaTeX2e:</p>
<pre class="SCREEN">
\documentclass[12pt,a4paper]{letter}
\usepackage{isolatin1}
\usepackage[french]{babel}
\usepackage{t1enc}
</pre>
ou alors :
<pre class="SCREEN">
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
</pre></li>
</ul>
<p>Au cas o&ugrave; votre distribution soit trop vieille pour
l'inclure, <tt class="LITERAL">isolatin.sty</tt> est disponible
<a href="ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit" target=
"_top">s&eacute;par&eacute;ment</a></p>
<p>Pour gs et xdvi, il faut utiliser des options sp&eacute;ciales
(sur ma machine, ce sont des alias). En effet, ils sont souvent
configur&eacute;s pour un papier &eacute;tats-unien dit &laquo;
l&eacute;gal &raquo;, de taille proche, mais non exactement
&eacute;gale, &agrave; celle du standard &laquo; A4 &raquo;.</p>
<p>Ces options sont les suivantes :</p>
<p><tt class="LITERAL">gs -sPAPERSIZE=a4 xdvi -paper a4 ghostview
-a4</tt></p>
<p>Pour que dvips convertisse les documents dans un format papier
a4, il faut sp&eacute;cifier dans le fichier config.ps (le chemin
varie en fonction des versions de LaTeX) :
/usr/lib/texmf/dvips/config.ps ou <tt class=
"LITERAL">.dvipsrc</tt></p>
<p><tt class="LITERAL">@ a4 210mm 297mm @+ !
&amp;percnt;&amp;percnt;DocumentPaperSizes: a4 @+
&amp;percnt;&amp;percnt;PaperSize: a4 @+
&amp;percnt;&amp;percnt;BeginPaperSize: a4 @+ a4</tt></p>
<p>Sinon ajoutez &agrave; votre <tt class=
"LITERAL">.Xresources</tt> :</p>
<p></p>
<pre class="SCREEN">
XDvi.paper:             a4
Ghostview.pageMedia:    A4
</pre></div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN1057" id="AEN1057">Manuel</a></h3>
<p>Tout d'abord, il faut vous procurer les pages de manuel Linux
traduites en <a href="ftp://ftp.lip6.fr/pub/linux" target=
"_top">fran&ccedil;ais</a></p>
<p>Si vous utilisez une distribution RedHat ou Debian, celles-ci
sont pr&eacute;sentes sur le c&eacute;d&eacute;rom : il suffit de
les s&eacute;lectionner lors de l'installation.</p>
<p>De l&agrave;, deux possibilit&eacute;s :</p>
<p></p>
<ul>
<li>
<p>soit vous ne voulez que des manuels en Fran&ccedil;ais, auquel
cas il faut faire un :</p>
<pre class="SCREEN">
export MANPATH=/usr/man/fr_FR
</pre>
NB: fr&amp;lowbar;FR se remplace par fr&amp;lowbar;BE,
fr&amp;lowbar;CA, fr&amp;lowbar;CH ou fr&amp;lowbar;LU selon le
pays concern&eacute;.</li>
<li>
<p>soit vous pr&eacute;f&eacute;rez par d&eacute;faut des manuels
en Fran&ccedil;ais et si la page n'existe pas, vous vous rabattez
vers l'Anglais, il suffira alors de taper :</p>
<pre class="SCREEN">
export LANG=fr
</pre></li>
</ul>
<p><tt class="LITERAL">man</tt> ira chercher dans le &laquo;
MANPATH &raquo; des pages en &laquo; LANG &raquo; par d&eacute;faut
et se rabattra sinon sur des pages en anglais.</p>
<p>Si vous d&eacute;sirez installer la page de manuel expliquant la
norme ISO 8859-15 latin 9, il faut installer le fichier
iso&amp;lowbar;8859&amp;lowbar;15.7.gz :</p>
<p></p>
<pre class="SCREEN">
cp standard/iso_8859_15.7.gz /usr/local/man/man7/
</pre></div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN1076" id="AEN1076">Correcteur
orthographique ispell</a></h3>
<p>Vous pouvez vous le procurer sur le <a href=
"ftp://ftp.ireq-robot.hydro.qc.ca:/pub/ispell/francais-IREQ-1.3.tar.gz"
target="_top">site original d'Hydro Qu&eacute;bec</a> ou sur le
<a href="ftp://ftp.lip6.fr/pub/ispell/francais" target=
"_top">mirroir du lip6</a></p>
<p>Un fichier LISEZMOI explique pas &agrave; pas et en
Fran&ccedil;ais l'installation.</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN1082" id="AEN1082">Les claviers 105
touches</a></h3>
<p>Aussi appel&eacute;s &laquo; claviers Microsoft (tm) &raquo;,
ils ont trois touches de plus que les claviers normaux.</p>
<p>Comment s'en servir ?</p>
<p>En mode console, &eacute;diter <tt class=
"LITERAL">french.map</tt> et d&eacute;commenter les lignes en
parlant !</p>
<p>De m&ecirc;me pour <tt class="LITERAL">french</tt> (pour
Xwindow).</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN1090" id="AEN1090">PGP</a></h3>
<p>Attention, dans certains pays totalitaires, l'utilisation de
logiciels de cryptographie est consid&eacute;r&eacute;e comme usage
d'armes de guerre, ce qui est punissable par la loi !</p>
<p>Sautez donc ce paragraphe si votre l&eacute;gislation locale ne
permet pas d'utiliser des logiciels de cryptographie.</p>
<p>Premi&egrave;rement, il faut se procurer pgp-international
(&agrave; cause de probl&egrave;mes de patentes et de
l&eacute;gislation sur l'export d'armes de guerre, il existe pgp-us
et pgp-international, ce dernire &eacute;tant dot&eacute; d'un
algorithme encore plus puissant) sur le <a href=
"ftp://ftp.ifi.uio.no/pub/pgp/" target="_top">site norv&eacute;gien
de PGP</a></p>
<p>Ensuite, mettre dans votre r&eacute;pertoire maison, dans un
sous r&eacute;pertoire .pgp les fichiers :</p>
<p></p>
<pre class="SCREEN">
config.txt
language.idx
pgpdoc1.txt
pgpdoc2.txt
language.txt
fr.hlp
en.hlp
pgp.hlp 
</pre>
<p>Enfin, &eacute;diter le fichier <tt class=
"LITERAL">.pgp/config.txt</tt> pour y rajouter :</p>
<p></p>
<pre class="SCREEN">
Language = fr
CharSet = latin1
</pre>
<p>Lisez ensuite <tt class="LITERAL">.pgp/fr.hlp</tt> pour
apprendre &agrave; vous servir de pgp !</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN1106" id="AEN1106">Impression en mode
ascii</a></h3>
<p>Pour l'impression de texte simple, beaucoup d'imprimantes
attendent des lettres en codage IBM (cp850) comme sous MS DOS.</p>
<p>Si le fichier est cod&eacute; en latin1, on doit utiliser
&laquo; recode latin1:ibmpc &raquo; (&agrave; placer dans les
filtres lpr de /etc/ par exemple), sous peine de voir imprimer des
&laquo; alpha&nbsp;&raquo; &agrave; la place de &laquo; &agrave;
&raquo;, et autres choses du m&ecirc;me genre.</p>
<p>Il existe d'autres utilisation au programme <tt class=
"LITERAL">recode</tt> : &laquo; ibmpc:lat1 &raquo; ou &laquo;
lat1:ibmpc &raquo; (de ou vers MS-DOS) ou &laquo; applemac &raquo;
pour Macintosh (tm).</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN1112" id=
"AEN1112">Unicode/latin/cp... je n'ai pas compris ce dernier
paragraphe !</a></h3>
<p>Voici donc plus d'explications gr&acirc;ce &agrave; Pablo
Sartxaga (srtxg &agrave; chanae.alphanet.ch) dans un message
explicant la diff&eacute;rence Unicode/latin/cp :</p>
<p></p>
<pre class="SCREEN">
 DB&gt;   quand on lance &laquo; setfont &raquo; sans argument
 DB&gt;   il semble qu'on obtienne le m&ecirc;me effet que setfont -u none

Normal et logique.

 DB&gt;   --&gt; en un mot la table de conversion &laquo; Unicode &raquo; est d&eacute;sactiv&eacute;e
 DB&gt;       ce qui transforme le &laquo; e accent aig&uuml; (dec 130) &raquo; en &laquo; th&eacute;ta (dec 233) &raquo;

Non. Il ne transforme rien du tout, il affiche tout simplement sans 
*aucune* transformation au contraire, &agrave; toi de t'assurer que la police
que tu charges poss&egrave;des les glyphes &agrave; la bonne place par rapport au codage
de caract&egrave;res que tu utilises (iso-8859-1).

Autrement dit si ta police n'est pas iso-8859-1 tu dois dire &agrave; setfont de
faire des mappings; en particulier s ic'est une police qui utilise l'encodage
DOS cp437 tu fais &laquo; setfont -u cp437 nomdelapolice &raquo;. Moi par exemple j'aime
beaucoup la police &laquo; t.fnt &raquo; de la Slackware, et j'ai donc quelque part
dans /etc/rc.d/* une ligne &laquo; setfont -u cp437 t.fnt &raquo;

Ou alors tu modifies la police (il y a un logiciel qui fait cela avec
interface svgalib, et un autre nomm&eacute; &laquo; chedit &raquo; qui permet de cr&eacute;er des
images an ascii-art, un fichier par caract&egrave;re (256 fichiers donc), il te
suffit alors de jongler avec les fichiers pour les changer de place et
r&eacute;g&eacute;nerer la police).  Note cependant que le codage cp437 n'inclut pas
tous les caract&egrave;res de iso-8859-1, notamment manquent quasi toutes les
majuscules accentu&eacute;es, et les lettres &atilde;&otilde; n&eacute;cessaires en portugais. Tu
peux toujours modifier la police pour cr&eacute;er ces caract&egrave;res manquants.

 DB&gt;   sur ma Slackware 3.2, &agrave; aucun moment setfont n'appara&icirc;t dans les scripts
 DB&gt;   de d&eacute;marrage ni dans les ~/profiles et autres ~/.bashrc

Donc c'est la police dans la ROM de la carte video qui est utilis&eacute;e.

 DB&gt;   et pourtant cette
 DB&gt;   conversion est effectu&eacute;e correctement puisque j'ai les accents &agrave; l'&eacute;cran.

Je suppose que le kernel pr&eacute;suppose (&agrave; juste titre) que la police en ROM vid&eacute;o
est au codage cp437.

 DB&gt;        une fois que je lance &laquo; setfont -u none &raquo; je perds donc les accents.

Normal, car d&egrave;s lors que tu charges une police tu est suppos&eacute; savoir ce que
tu veux (au contraire de la police en ROM o&ugrave; tu n'as pas le choix).

Autrefois (du temps des 1.2.* et avant) le d&eacute;faut de setfont &eacute;tait cp437
(et il n'utilisait pas encore des tables Unicode, mais on pouvait
changer par \e(B et \e(K entre codage cp437 et iso (on peut toujours 
d'ailleurs)), mais maintenant le d&eacute;faut est &laquo; straight to font &raquo;, pas de
conversion.

 DB&gt;            j'en conclue que Linux utilise la police r&eacute;sidente par d&eacute;faut de
 DB&gt;            la carte EGA/VGA

 DB&gt;        [Q] --&gt; comment retrouver cette police ?

Il y a un programme nomm&eacute; &laquo; restoretextmode &raquo; qui est assez populaire
aupr&egrave;s des possesseurs de certaines cartes graphiques chez qui le
passage X11 -&gt; console bousille les polices; il permet de faire un dump
sur un fichier; il faudrait donc que tu le lances avant de modifier la
police avec setfont. Le paquetage s'appelle quelque chose comme
SVGATextMode ou quelque chose d'approchant.

 DB&gt;     [Q] --&gt; quelle table appeler pour la remapper et ravoir les accents ?

setfont -u cp437 policedos

Ou sinon, si tu ne veux pas lancer setfont et tu veux donc garder la
police de la carte graphique; essaye un &laquo; echo -e \033(B &raquo; (l'ennuyant
c'est que tu dois le faire dans chaque console)

 DB&gt;                 (en g&eacute;n&eacute;ral setfont -u def.uni (par exemple) renvoie une
 DB&gt;                  erreur : PIO_UNIMAPCLR: Invalid argument et je reste
 DB&gt;                  en caracteres &laquo; graphiques &raquo;)

Ah ? Chez moi &ccedil;a marche; quels kernel et kbd as-tu ?

Sinon je te conseille &laquo; cp437 &raquo; plut&ocirc;t que &laquo; def &raquo;, ils font _presque_ la m&ecirc;me
chose, mais &laquo; cp437 &raquo; est visuellement plus agr&eacute;able car il remplace les
caract&egrave;res non pr&eacute;sents dans la police par les lettres non accentu&eacute;es si c'est
des lettres, C pour &copy; et R pour &reg; et par un carr&eacute; blanc pour le reste, ce qui
permet de garder le formatage et la lecture agr&eacute;ables; &laquo; def &raquo; lui ne mets
totu simplement rien pour les caract&egrave;res manquants, si bien que tu te
trouves avec des trous, ce qui est l'horreur si tu &eacute;dites un texte par
exemple avec vi, puisque le curseur est affich&eacute; plusieurs caract&egrave;res
&agrave; gauche &agrave; cause des caract&egrave;res de largeur nulle :) 

Essaye aussi la police &laquo; t.fnt &raquo;, elle est assez jolie, toute en rondeurs, je la
trouve r&eacute;posante, et quand je dois utiliser un PC avec les polices style 
courier par d&eacute;faut je trouve &ccedil;a tr&egrave;s agressif je me demande comment ils
peuvent travailler avec :)
</pre>
<p>Lire aussi les articles de news : &laquo; FAQ - les accents
fran&ccedil;ais et Usenet&raquo; de F. Yergeau dans les groupes
fr.usenet.reponses et fr.usenet.8bits &raquo; ISO 8859-1 National
Character Set FAQ&raquo; de mike (&agrave;) vlsivie.tuwien.ac.at
dans comp.answers .</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN1118" id="AEN1118">ncurses</a></h3>
<p>Rappelons que ncurses est un librairie C qui permet de manipuler
facilement l'affichage en mode console texte : fen&ecirc;trage,
lignes de saisie, &eacute;dition de formulaires, couleurs,
caract&egrave;res &laquo; ALT &raquo; ascii semi-graphique ibm,
comme sous dos...</p>
<div class="SECT3">
<hr>
<h4 class="SECT3"><a name="AEN1121" id=
"AEN1121">Introduction</a></h4>
<p>La version standard de curses utilise le huiti&egrave;me bit
pour la vid&eacute;o invers&eacute;e (voir le flag
&amp;lowbar;STANDOUT d&eacute;fini dans /usr/include/curses.h).
Cependant, ncurses semble fonctionner en 8-bits et affiche le
iso-latin-8859-1 correctement.</p>
</div>
<div class="SECT3">
<hr>
<h4 class="SECT3"><a name="AEN1124" id="AEN1124">Les
accents</a></h4>
<p>Remarque: les distributions de Linux sont livr&eacute;es en
g&eacute;n&eacute;ral avec la version 1.9.9e de ncurses, or il se
trouve que la librairie form de cette version est BUGG&Eacute;E
(probl&egrave;mes de rafra&icirc;chissement des
fen&ecirc;tres).</p>
<p>Ne pas utiliser la 1.9.9e donc si on veut travailler avec
&laquo; form &raquo; : ce bug est d'ailleurs clairement
&eacute;nonc&eacute; sur le site de ncurses, et je m'&eacute;tonne
que ce soit justement cette version qui soit encore livr&eacute;e
sur la plupart des distributions (RedHat 4.2, 5.0, 5.1, Slackware
3.2, Debian 1.9) en tout cas.</p>
<p>Sympt&ocirc;me : la fonction wgetch() de ncurses renvoie les
codes suivants :</p>
<p></p>
<ul>
<li>
<p>je tape '&eacute;' et wgetch retourne &laquo; meta-i &raquo;
code 233 (decimal)</p>
</li>
<li>
<p>" " '&egrave;' " " " &laquo; meta-h &raquo; code 234
(decimal)</p>
</li>
<li>
<p>etc</p>
</li>
</ul>
<p>C'est normal avec les polices iso-8859-1 !</p>
<p>Il faut installer les &laquo; locales &raquo; ou mettre &agrave;
jour sa version de ncurses.</p>
</div>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN1139" id="AEN1139">Perl</a></h3>
<p>Si tout d'un coup apr&egrave;s une mise &agrave; jour il raconte
:</p>
<p></p>
<pre class="SCREEN">
(guylhem@victis:guylhem)$ perl
perl: warning: Setting locale failed for the categories:
        LC_CTYPE LC_COLLATE
perl: warning: Please check that your locale settings:
        LC_ALL = "fr_FR",
        LC_CTYPE = "ISO-8859-1",
        LC_COLLATE = (unset),
        LANG = "fr"
    are supported and installed on your system.
perl: warning: Falling back to the "C" locale.
(guylhem@victis:guylhem)$
</pre>
<p>En libc6 le format des fichiers binaires de d&eacute;finition
des locales a (encore) chang&eacute; : il faut les
r&eacute;g&eacute;n&eacute;rer &agrave; partir des sources <a href=
"ftp://ftp.lip6.fr:/pub/linux/GCC" target="_top">sources
WG15collection.tar.gz</a> par exemple et des programmes &laquo;
locale &raquo; et &laquo; localedef &raquo; qui sont fournis dans
les sources de la libc.</p>
<p>Sinon on peut &eacute;galement se passer des locales :</p>
<p></p>
<pre class="SCREEN">
     unset LANG
     unset LC_CTYPE
     unset LC_COLLATE
     export LC_ALL=fr_FR.ISO-8859-1
</pre></div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN1149" id="AEN1149">Installer les
locales</a></h3>
<p>Les &laquo; locales &raquo; sont des fichiers qui vont modifier
le comportement de certains programmes pour qu'ils s'adaptent aux
&laquo; sp&eacute;cificit&eacute;s culturelles du pays &raquo;.</p>
<p>Cela sert &agrave; r&eacute;soudre les erreurs rapport&eacute;es
par perl ou une mauvaise gestion des accents par ncurses.</p>
<p></p>
<ul>
<li>
<p>r&eacute;cup&eacute;rer pour la libc5 la collection de <a href=
"ftp://ftp.lip6.fr/pub/linux/GCC/WG15-collection.linux.tar.gz"
target="_top">locales POSIX</a></p>
</li>
<li>
<p>ou pour la libc6, elle est dans l'ajout <a href=
"ftp://ftp.lip6.fr/pub/gnu/glibc-localedata-2.0.6.tar.gz" target=
"_top">&laquo; glibc-localedata &raquo;</a></p>
</li>
<li>
<p>copier dans le r&eacute;pertoire /usr/share/locale les fichiers
fr&amp;lowbar;FR et en&amp;lowbar;DK (qui est inclus dans
fr&amp;lowbar;FR)</p>
</li>
<li>
<p>cr&eacute;er le r&eacute;pertoire /usr/share/i18n/charmap et
copier le fichier ISO&amp;lowbar;8859-1:1987</p>
</li>
<li>
<p>faire man localedef et lancer la commande :</p>
<pre class="SCREEN">
          localedef -f ISO_8859-1:1987 -i fr_FR fr
</pre>
Ceci cr&eacute;era l'entr&eacute;e fr dans /usr/share/locale soit :
<pre class="SCREEN">
        /usr/share/locale/fr
</pre>
Ce r&eacute;pertoire devrait maintenant contenir les fichiers :
<pre class="SCREEN">
         LC_COLLATE
         LC_CTYPE
         LC_MESSAGES
         LC_MONETARY
         LC_NUMERIC
         LC_TIME
</pre></li>
<li>
<p>lire le fichier &laquo; locale.fr &raquo; que l'on peut trouver
sur le serveur ftp.lip6.fr (chercher sous doc, linux...) et dont la
traduction fran&ccedil;aise a &eacute;t&eacute; faite par
&Eacute;ric DUMAS (h&eacute;las ce doc ne traite principalement que
de LC&amp;lowbar;MESSAGES. &Agrave; quand la suite &Eacute;ric ?
;-) )</p>
</li>
<li>
<p>compl&eacute;ter &eacute;ventuellement l'initialisation des
variables du shell comme d&eacute;crit dans la section sur bash ou
tcsh</p>
</li>
<li>
<p>dans un programme, utilisez la fonction setlocale() (man
setlocale.3) pour fixer les param&egrave;tres locaux CAR le noyau
linux initialise toujours cette fonction avec l'argument une locale
&laquo; C &raquo; (POSIX) donc sans accents !</p>
<pre class="SCREEN">
          setlocale(LC_CTYPE,"fr_FR");
</pre></li>
<li>
<p>&Ccedil;a y est ! Les accents sont disponibles dans ncurses.</p>
</li>
</ul>
<div class="SECT3">
<hr>
<h4 class="SECT3"><a name="AEN1179" id="AEN1179">Midnight Commander
(mc)</a></h4>
<p>En changeant de police, il peut arriver que les lignes de cadre
soient remplac&eacute;es par divers caract&egrave;res.</p>
<p>2 possibilit&eacute;es :</p>
<ul>
<li>
<p>La police charg&eacute;e ne dispose pas de caract&egrave;res
dits &laquo; semi graphiques &raquo;, qui permettent de dessiner
des cadres</p>
</li>
<li>
<p>Il y a discordance entre la police et sa table de mappage</p>
</li>
</ul>
<p>Pour le premier cas, la seule solution est de changer de police,
mais dans le second cas, il suffit en g&eacute;n&eacute;ral de
charger la table avec loadunimap par exemple :</p>
<p></p>
<pre class="SCREEN">
          loadunimap lat1u.uni
          loadunimap lat5u.uni
          loadunimap lat9u.uni
</pre></div>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN1191" id="AEN1191">Kernel</a></h3>
<p>Pour mettre un support pour le clavier fran&ccedil;ais
directement dans le kernel, ce qui est pratique pour les
syst&egrave;mes embarqu&eacute;s ou ne d&eacute;marrant que sur
disquettes, afin de gagner le maximum de place :</p>
<p></p>
<pre class="SCREEN">
/usr/bin/loadkeys loadkeys --mktable votre-table-de-clavier.map &gt; /usr/src/linux/drivers/char/defkeymap.c
</pre></div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN1196" id="AEN1196">Lilo</a></h3>
<p>Depuis la version 20, on peut sp&eacute;cifier un clavier
(fran&ccedil;ais, par exemple) au d&eacute;marrage de LILO.</p>
<p>Bien sur, cela ne fait qu'&eacute;changer quelques touches
(a/q,m/:,... pour un clavier fr) mais cela est assez utile lorsque
l'on veut taper &laquo; win &raquo;.</p>
<p>Je vous conseille toutefois de ne pas faire de label utilisant
des touches qui diff&egrave;rent entre l'AZERTY et le QWERTY, ne
serait-ce que si vous devez avoir un jour un autre utilisateur sur
votre ordinateur...</p>
<p>Il est plus simple de faire des labels courts et d'utiliser des
programmes comme GAG ou GRUB, rempla&ccedil;ant fort
avantageusement les lignes de lilo par un magnifique menu graphique
dans le cas de GAG.</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN1202" id="AEN1202">Groff
(man)</a></h3>
<p>Sur certaines distributions, le programme man n'est pas
configur&eacute; pour afficher les accents.</p>
<p>Si vous rencontrez ce probl&egrave;me, &eacute;ditez son fichier
de configuration (/etc/man.config sur les distributions actuelles)
et localisez une ligne ressemblant &agrave; cela :</p>
<p></p>
<pre class="SCREEN">
NROFF          /usr/bin/groff -Tascii -mandoc
</pre>
<p>Remplacez-l&agrave; par :</p>
<p></p>
<pre class="SCREEN">
NROFF          /usr/bin/groff -Tlatin1 -mandoc
</pre>
<p>Les vieilles versions de man utilisent aussi col, et le point
suivant s'applique aussi.</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN1212" id="AEN1212">Divers</a></h3>
<p>Une belle discussion sur le th&egrave;me de l'ISO-8859-1 et sur
&laquo; comment manipuler les caract&egrave;res 8-bits &raquo; est
<a href="ftp://grasp.insa-lyon.fr/pub/faq/fr/accents" target=
"_top">disponible</a></p>
</div>
</div>
<div class="SECT1">
<hr>
<h2 class="SECT1"><a name="AEN1216" id="AEN1216">R&eacute;glage du
clavier pour les applications X</a></h2>
<div class="SECT2">
<h3 class="SECT2"><a name="AEN1218" id="AEN1218">Les xterminaux
(xterm, nxterm, rxvt...)</a></h3>
<p>Les faire fonctionner avec toutes les touches standard du
clavier 102 touches rel&egrave;ve du miracle, quant aux accents,
seule une recompilation vous permettra de les utiliser !</p>
<p>Pour xterm, essayez de mettre dans votre <tt class=
"LITERAL">.Xdefaults</tt> :</p>
<p></p>
<pre class="SCREEN">
XTerm*eightBitInput: true
XTerm*eightBitOutput: true
*customization: -color
XTerm*VT100*Translations: #override\n\
XTerm*pointerColor: red
None&lt;Key&gt;Begin: string(0x1b) string("[1~")\n\
None&lt;Key&gt;End: string(0x1b) string("[4~")\n\
None&lt;Key&gt;Prior: scroll-back(1,halfpage)\n\
None&lt;Key&gt;Next: scroll-forw(1,halfpage)\n\
Shift&lt;Key&gt;Prior: scroll-back(1,page)\n\
Shift&lt;Key&gt;Next: scroll-forw(1,page)
XTerm*fontMenu*fontdefault*Label: Default
XTerm*VT100*font: 9x15
XTerm*fontMenu*font1*Label: Illisible
XTerm*VT100*font1: nil2
XTerm*fontMenu*font2*Label: Minuscule
XTerm*VT100*font2: 5x7
XTerm*fontMenu*font3*Label: Petit
XTerm*VT100*font3: 6x10
XTerm*fontMenu*font4*Label: Normal
XTerm*VT100*font4: fixed
XTerm*fontMenu*font5*Label: Moyen
XTerm*VT100*font5: 7x13
XTerm*fontMenu*font6*Label: Tres grand
XTerm*VT100*font6: 10x20
</pre>
<p>Dans <tt class="LITERAL">.inputrc</tt> :</p>
<p></p>
<pre class="SCREEN">
# pour rxvt
"\e[7&tilde;":beginning-of-line
"\e[8&tilde;":end-of-line
# pour xterm
"\e[H": beginning-of-line
"\e[F": end-of-line
</pre>
<p>Mais ces deux solutions ne vous garantissent pas de
r&eacute;soudre tous les probl&egrave;mes de rxvt et de xterm
...</p>
<p>Pour les r&eacute;soudre sans cr&eacute;er de fichiers dans
<tt class="LITERAL">/usr/X11R6/lib/X11/app-defaults</tt>, je tiens
sinon &agrave; votre disposition un xiterm, un terminal X
supportant *TOUTES* les touches des claviers standard, avec Home,
End, Page&amp;lowbar;Up (...) et m&ecirc;me le pav&eacute;
num&eacute;rique, fonctionnant comme en mode console, i.e.
Shift-Page&amp;lowbar;Up permettant de faire d&eacute;filer une
page, voire mieux : le pav&eacute; num&eacute;rique reconnaissant
enfin la diff&eacute;rence entre Verr. Num allum&eacute; et Verr.
Num &eacute;teint.</p>
<p>X international terminal (xiterm pour les intimes) est bien
s&ucirc;r sous GPL et mis &agrave; jour pour suivre
parall&egrave;lement l'&eacute;volution de rxvt.</p>
<p>Sur par exemple <a href="http://metalab.unc.edu/guylhem/xiterm"
target="_top">mon site</a> vous trouverez donc xiterm, qui remplace
votre xterm classique en y apportant la couleurs, les accents et
les touches &eacute;tendues.</p>
<p>Pour l'installer, compilez-le, devenez root et tapez :</p>
<p></p>
<pre class="SCREEN">
rm /usr/X11R6/bin/xterm
rm /usr/X11R6/lib/X11/app-defaults/xterm
rm /usr/X11R6/lib/X11/app-defaults/rxvt
rm /usr/X11R6/lib/X11/app-defaults/Xterm
rm /usr/X11R6/lib/X11/app-defaults/XTerm
rm /usr/X11R6/lib/X11/app-defaults/Rxvt
rm /usr/X11R6/lib/X11/app-defaults/RXvt
cp xiterm /usr/local/bin

ln -sf /usr/local/bin/xiterm /usr/X11R6/bin/xterm
ln -sf /usr/local/bin/xiterm /usr/X11R6/bin/rxvt
</pre></div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN1238" id="AEN1238">Les applications
Motif</a></h3>
<p>L&agrave;, je n'ai malheureusement aucun rem&egrave;de miracle
!</p>
<p>Il faudrait modifier le code source, code indiqu&eacute; plus
haut, pour remplacer XLookupString par XmLookupString.</p>
<p>Utilisez les possibilit&eacute;s du fichier french au lieu des
touches mortes (AltGr (voyelle) : voyelle accent circonflexe... )
!</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN1243" id="AEN1243">Le manuel</a></h3>
<p>Pablo Saratxaga tient &agrave; votre disposition un xman
modifi&eacute; pour qu'il supporte la variable &laquo; LANG &raquo;
et puisse afficher les pages en d'autres langues qu'anglais.</p>
<p>Il est disponible sur le lip6 en <a href=
"ftp.lip6.fr:/pub/linux/distributions/redhat-contrib/SRPMS/xman-3.1.6-3.src.rpm"
target="_top">sources</a> ou en <a href=
"ftp.lip6.fr:/pub/linux/distributions/redhat-contrib/i386/xman-3.1.6-3.i386.rpm"
target="_top">binaires</a></p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN1249" id="AEN1249">NumLock</a></h3>
<p>Pour l'activer sous X, mettre en commentaire ServerNumLock dans
la section keyboard de XF86Config, puis rajouter au dessous Xleds
2, ce qui allumera la led.</p>
<p>Attention, ce conseil ne s'applique que lorsque l'on n'utilise
pas xkb, i.e. qu'on met XkbDisable dans XF86Config...</p>
</div>
<div class="SECT2">
<hr>
<h3 class="SECT2"><a name="AEN1253" id="AEN1253">XDM</a></h3>
<p>/etc/X11/xdm/Xresources sert &agrave; ne rencontrer aucun
probl&egrave;me avec les touches &laquo; sp&eacute;ciales &raquo;
(Home, End ...) sous X.</p>
<p></p>
<pre class="SCREEN">
xlogin*login.translations: #override\
      Ctrl&lt;Key&gt;R: abort-display() \n\
      &lt;Key&gt;BackSpace: delete-previous-character() \n\
      &lt;Key&gt;Home: move-to-begining() \n\
      &lt;Key&gt;Delete: delete-character() \n\
      &lt;Key&gt;End: move-to-end() \n\
      &lt;Key&gt;Left: move-backward-character() \n\
      &lt;Key&gt;Return: set-session-argument() finish-field() \n\
      &lt;Key&gt;Right: move-forward-character()
</pre></div>
</div>
<div class="SECT1">
<hr>
<h2 class="SECT1"><a name="AEN1258" id=
"AEN1258">Remerciements</a></h2>
<p>Ce document ne serait pas ce qu'il est sans l'aide de Nat
Makar&eacute;vitch (nat &agrave; nataa.fr.eu.org) qui l'a relu et
m'a aid&eacute; &agrave; le modifier de nombreuses fois.</p>
<p>Un excellent document plus g&eacute;n&eacute;rique, traitant de
l'installation par ex, est le Guide du Rootard, disponible sur
<a href="http://www.freenix.fr/linux/Guide" target=
"_top">freenix</a> ou <a href=
"ftp://ftp.lip6.fr:/pub/linux/french/docs/" target="_top">le
lip6</a></p>
<p>Remercions enfin par ordre alphab&eacute;tique ces contributeurs
:</p>
<pre class="SCREEN">
Jean-Michel Antoine
Michel Billaud
Chmouel Boudjnah
Stephane Bortzmeyer
Denis Braussen
R&eacute;my Card
Julien Cassaigne
Xavier Cazin
Laurent Chemla
Ren&eacute; Cougnenc
Bruno Cornec
Yann Dirson
&Eacute;ric Dubreuil
&Eacute;ric Dumas
Arnaud Gomes-do-Vale
Pierre Ficheux
Laurent Frigault
Hugolino
Antoine Leca
Frederic Lepied
Jeannot Langlois
Stephane Marzloff
Marc Merlin
Thomas Parmelan
Fr&eacute;d&eacute;ric Petit
Thomas Quinot
David Robert
Olivier Robert
Benjamin Ryzman
Pablo Saratxaga
Julien Simon
Lo&iuml;c Tortay
J.M. Vansteene
</pre>
<p>Surtout, si je vous oublie, signalez-le moi ! De m&ecirc;me si
vous ne voulez plus figurer dans cette liste...</p>
<p>Envoyez moi vos suggestions et modifications (guylhem &agrave;
metalab.unc.edu), je me ferai un plaisir de les int&eacute;grer
dans les prochaines versions !</p>
<p>Signalez-moi aussi les erreurs : cet HOWTO est en
perp&eacute;tuel changement, avec des nouveaut&eacute;s incluses
&agrave; chaque version ; des erreurs peuvent facilement s'y
glisser !</p>
</div>
</div>
</body>
</html>