File: usersguide_fr.html

package info (click to toggle)
edbrowse 3.3.4-1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 2,016 kB
  • ctags: 2,508
  • sloc: ansic: 27,573; sh: 762; makefile: 82
file content (3092 lines) | stat: -rw-r--r-- 198,405 bytes parent folder | download | duplicates (2)
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
<html>
<font face="Arial,Helvetica,sans-serif" size="4">
<head>
<meta name="description" content="documentation edbrowse, un éditeur orienté texte, un navigateur, et un client de courrier électronique.">
<meta name="keywords" content="orienté texte, ligne de command, interactif,
éditeur, navigateur, client mail, portable, C, javascript,
securité, ssl, aveugle, script, accessible, accessibilité">
<title>edbrowse documentation</title>
<link rel="SHORTCUT ICON" href="http://www.eklhad.net/linux/app/pc.ico">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8">
</head>
<body alink="navy" bgcolor="white" link="red" text="black" vlink="red">

<h2 align="center"> Documentation edbrowse</h2>

<h3 align="center"> <a name="top"> Table des matières </a> </h3>

<h4> Chapitre 1, préface </h4>

<ul>
<li><a href="#auth"> Auteur </a></li>
<li><a href="#copy"> Copyright </a></li>
<li><a href="#ack"> Remerciements </a></li>
<li><a href="#phil"> Philosophie </a></li>
<li><a href="#over"> Vue d'ensemble </a></li>
<li><a HREF="#curve"> Courbe d'apprentissage </a></li>
<li><a href="#lang"> Autres langues </a></li>
</ul>

<h4> Chapitre 2, guide de référence rapide Guide </h4>

<ul>
<li><a href="#guide"> Guide de référence rapide </a></li>
<li><a href="#tips"> Trucs pour éviter les numéros de ligne </a></li>
<li><a href="#mlist"> Liste de diffusion </a></li>
</ul>

<h4> Chapitre 3, l'éditeur </h4>

<ul>
<li><a href="#dev"> Différences importantes par rapport à /bin/ed </a></li>
<li><a href="#brace"> Equilibrage des parenthèses, crochets et accolades </a></li>
<li><a href="#cx"> Commutateur de contexte </a></li>
<li><a href="#usage"> Usage </a></li>
<li><a href="#bin"> Caractères binaires  </a></li>
<li><a href="#bfile"> Fichiers binaires  </a></li>
<li><a href="#dir"> Parcours de répertoire, gestionnaire de fichiers </a></li>
<li><a href="#case"> Lettres majuscules et minuscules </a></li>
<li><a href="#bl"> Fin de ligne </a></li>
<li><a href="#race"> Comportement </a></li>
</ul>

<h4> Chapitre 4, navigateur web </h4>

<ul>
<li><a href="#url"> Accès à une URL </a></li>
<li><a href="#browse"> Mode navigation </a></li>
<li><a href="#math"> Technique, maths </a></li>
<li><a href="#title"> Titre, description, mots-clés </a></li>
<li><a href="#rf"> La commande de réaffichage </a></li>
<li><a href="#hlink"> Hyperliens </a></li>
<li><a href="#ilink"> Liens internes </a></li>
<li><a href="#back"> La touche retour arrière</a></li>
<li><a href="#move"> La commande M </a></li>
<li><a href="#music"> Musique de fond </a></li>
<li><a href="#input"> Zones de saisie </a></li>
<li><a href="#entry"> Saisie de données </a></li>
<li><a href="#textarea"> Zones de texte </a></li>
<li><a href="#button"> Appuyez sur le bouton </a></li>
<li><a href="#addr"> Adresses Web et mail </a></li>
<li><a href="#cook"> Cookies </a></li>
<li><a href="#ssl"> Connexions sécurisées </a></li>
<li><a href="#ftp"> Téléchargements Ftp </a></li>
<li><a href="#proxy"> Serveurs proxy </a></li>
<li><a href="#frame"> Cadres </a></li>
<li><a href="#pdf"> PDF </a></li>
</ul>

<h4> Chapitre 5, Javascript </h4>

<ul>
<li><a href="#js"> Introduction à Javascript </a></li>
<li><a href="#valid"> Validation et modification de formulaires </a></li>
<li><a href="#popup"> fenêtres Popups et Popunders </a></li>
<li><a href="#onc"> Onchange et défaire </a></li>
</ul>

<h4> Chapitre 6, scripts d'Edbrowse et le fichier de configuration </h4>

<ul>
<li><a href="#cfg"> Le fichier de configuration </a></li>
<li><a href="#keyval"> Mot-clé = valeur </a></li>
<li><a href="#agent"> Agent utilisateur </a></li>
<li><a href="#script"> Fonctions d'Edbrowse </a></li>
<li><a href="#init"> Le script d'initialisation </a></li>
<li><a href="#ma"> Comptes de courrier </a></li>
<li><a href="#mt"> Descripteurs des types Mime </a></li>
<li><a href="#sampcfg"> Un exemple de fichier de configuration </a></li>
</ul>

<h4> Chapitre 7, client de courrier </h4>

<ul>
<li><a href="#sm"> Envoi de courrier </a></li>
<li><a href="#smc"> Client d'envoi de courrier </a></li>
<li><a href="#fmc"> Client de récupération de courrier </a></li>
<li><a href="#mailfmt"> Courrier formaté </a></li>
<li><a href="#filter"> Filtrage de courrier </a></li>
<li><a href="#reply"> Réponse au courrier </a></li>
</ul>

<h4> Chapitre 8, Accéder aux bases de données </h4>

<ul>
<li><a href="#sqlb"> Compiler Edbrowse avec l'accès aux bases de données </a></li>
<li><a href="#rtb"> Lire les tables </a></li>
<li><a href="#insupd"> Insertion, mise à jour, effacement </a></li>
<li><a href="#td"> Descripteurs de tables </a></li>
</ul>

<h3 align="center"> <a name="auth"> Auteur </a> </h3>

Karl Dahlke
<a href="mailto:eklhad@gmail.com">eklhad@gmail.com</a>

<h3 align="center"> <a name="copy"> Copyright </a> </h3>

Ce programme est copyright (c) (c) Karl Dahlke, 2000-2008. Il est mis à disposition par l'auteur sous la licence publique générale GNU (GPL), définie par la Free Software Fondation. Il peut être utilisé dans n'importe quel but, et redistribué, à condition d'y adjoindre le présent copyright. 
<p>
Par exception, je permets ici de lier le code de ce programme avec la bibliothèque d'OpenSSL (ou avec les versions modifiées d'OpenSSL sous même licence qu'OpenSSL), et distribuer les combinaisons liées comprenant les deux. Vous devez respecter la licence publique générale de GNU en tous points pour tous les codes utilisés autres qu'OpenSSL. Si vous modifiez ce programme, vous pouvez étendre cette exception à votre version du programme, mais vous n'y êtes pas tenu. Si vous ne souhaitez pas faire ainsi, supprimez ce rapport d'exception de votre version..
</p>

<h3 align="center"> <a name="ack"> Remerciements </a> </h3>

Ce programme emprunte du code et des concepts de construction au 
<a href="http://atrey.karlin.mff.cuni.cz/%7Eclock/twibright/links/">projet Links</a>,
lequel est également librement disponible sous les termes de la GPL. Merci aux auteurs pour tout leur travail difficile. 

<p>
Leur écriture technique est bien meilleure que la mienne. Regardez svp certaines de ces pages Web ; vous ne le regretterez pas. 
</p>

<p>
<a href="http://www.mcli.dist.maricopa.edu/tut/">Écrire en HTML </a><br>
<a href="http://www.htmlcodetutorial.com/">Un tutoriel de code HTML </a><br>
<a href="http://www.htmlgoodies.com/tutors/">Ainsi vous voulez écrire un peu d'HTML… </a><br>
<a href="http://hotwired.lycos.com/webmonkey/javascript/tutorials/tutorial1.html">Javascript pour Webmasters </a><br>
<a href="http://safari.oreilly.com/">Javascript, le guide définitif </a>
</p>

<p>
Ce paquet exige le Spider Monkey Javascript, licencié par Mozilla sous MPL.&nbsp;
Disponible
<a href="ftp://ftp.mozilla.org/pub/mozilla.org/js/js-1.5.tar.gz">ici</a>.&nbsp;
Les programmeurs et les mainteneurs de ce paquet devraient tirer profit de la
<a href="http://developer.mozilla.org/en/docs/Category:JSAPI_Reference">documentation en ligne</a>.
</p>

<h3 align=center> <a name=phil> Philosophie </a> </h3>

Edbrowse fait partie d'un ensemble, d'une philosophie, plus vaste, 
dans lequel éditeurs, navigateurs, clients mail, tableurs et autres applications importantes 
sont réécrites, depuis le début si nécessaire, 
pour prendre compte différentes formes de handicap.&nbsp;
Cela fait, d'autres applications peuvent s'appuyer sur ces outils, 
et devenir immédiatement accessibles à de nombreux utilisateurs de l'informatique.&nbsp;
Vous pouvez en savoir davantage sur cette philosophie <a href="philosophy_fr.html">ici</a>.

<h3 align=center> <a name="curve"> Courbe d'apprentissage</a> </h3>

<p>Voici ce que William McEwan, du <a href="http://www.murga-linux.com/puppy/">forum de discussion de Puppy Linux</a>, dit au sujet de edbrowse. (Reproduit ici avec sa permission.)</p>

<p>"Les premiers jours où j'ai tenté d'utiliser ce programme (basé en partie sur l'ancien ed d'UNIX) j'ai cru vivre un cauchemar. Mais le soleil a commencé à briller, et j'ai commencé à m'interroger : ce programme apparemment simple pourrait-il être l'un des meilleurs programmes disponibles ? Tout dépend évidemment de la définition de meilleur. Pas de graphiques ici, pas davantage d'obèses comme Gnome / KDE / Microsoft. Pas de X requis. Mais il couvre tant de besoins quotidiens : l'édition de texte, la navigation sur le Web, le courrier électronique, l'accès aux bases de données, la gestion de fichiers, le ftp. Bien sûr, il a ses limites, support de javascript limité entre autres, mais il vient aussi avec beaucoup de potentiel. La courbe d'apprentissage, bien sûr, m'a demandé deux jours entiers, et je suis toujours en train d'apprendre, Mais c'est tellement facile maintenant. Littéralement, je peux le faire avec les yeux fermés. Préparez-vous à souffrir. Survivez, et profitez de ses plaisirs. "</p>

<h3 align="center"> <a name="over"> Vue d'ensemble </a> </h3>

Ce programme est, à première vue, un ré-implémentation de /bin/ed.&nbsp;
En fait vous pourriez utiliser quelques commandes d'Ed sans vous rendre compte que vous exécutez réellement mon programme.&nbsp;
Mais à mesure que vous l'utiliserez, vous découvrirez quelques différences, secteurs où mon programme diffère de Ed. (Ceux-ci sont discutés ci-dessous.) 

<p>
La réécriture de l'Ed <em>semble</em> être une perte de temps, jusqu'à ce que vous vous rendiez compte que ce programme fonctionne également comme un navigateur - un navigateur inclus dans Ed.&nbsp;
Vous pouvez éditer une URL aussi facilement qu'un fichier local, et activer le mode navigation pour afficher les étiquettes HTML d'une façon appropriée pour un programme en ligne de commande ce type.&nbsp;
En d'autres termes, nous rejetons la majeure partie des informations de formatage, maintenons les liens et remplissons les formulaires.&nbsp;
Ceci permet aux utilisateurs aveugles d'accéder à l'Internet par l'intermédiaire d'une application qui est entièrement compatible avec la nature linéaire de la parole ou du braille.&nbsp; 
</p>
<p>
Je trouve cette approche supérieure au procédé de collage d'un adaptateur sur un navigateur de type écran (lynx) ou un navigateur graphique (Netscape).&nbsp;Naturellement, ce n'est que mon avis.&nbsp;
Pour être juste, beaucoup d'utilisateurs aveugles, même totalement aveugles, sont satisfaits de leurs balayeurs d'écran.&nbsp;
Je suis heureux que cela fonctionne pour eux, mais cette approche est pour moi une perpétuelle source de frustration.&nbsp;
Si vous aussi, vous préférez des applications linéaires, essayez ce navigateur.&nbsp; 
</p>
<p>
Cette documentation suppose que vous connaissez Ed.&nbsp;
En fait, elle aide si vous êtes à l'aise dans Ed.&nbsp;
Une expérience des navigateurs d'Internet et de la terminologie associée est également utile.&nbsp;

<h3 align=center> <a name=lang> Autres langues </a> </h3>

<p>D'abord, quelques mots sur les jeux de caractères. L'anglais est facilement géré par un flot d'octets, une lettre par octet. De plus, chaque lettre tient sur 7 bits; le huitième bit, non utilisé, est mis à 0. Cependant, les <A HREF=http://en.wikipedia.org/wiki/Indo-European_languages>langages indo-européens</A> comportent plus de caractères, comme ñ (espagnol), è (français), et ö (allemand). Ceux-ci peuvent tenir sur un octet, en mettant le 8ème bit à 1, selon le standard <A HREF="http://fr.wikipedia.org/wiki/Iso_8859-1">ISO8859-1</A>. Néanmoins, un autre standard arrive, au moins dans le monde Unix/Linux. Ce jeu de caractères, connu sous le nom de UTF-8, code les caractères européens en séquences de deux octets. Ainsi, dans votre ordinateur, ñ est représenté par un ou deux octets. C'est transparent pour vous; vous voyez la même lettre sur l'écran, et vous entendez le même son (si votre lecteur d'écran envoie ces lettres à votre synthétiseur). Une façon simple de savoir sur quel système vous êtes est de faire "echo $LANG". Si la réponse contient la chaîne utf8, ou utf-8, en minuscules ou majuscules, votre console utilise utf8, et attend des séquences de 2 octets. Vos fichiers contiendront ces séquences, sans que vous en soyez (probablement) informé.</p>

<p>Il y aurait beaucoup plus à dire sur les jeux de caractères : ceci est juste une brève introduction au sujet. Je n'ai pas besoin d'aller plus loin, parce que Edbrowse ne supporte actuellement que ces deux systèmes . Le chinois, par exemple, requiert des séquences de 3 ou 4 octets, intégrées dans unicode. Edbrowse, pour l'heure, ne peut gérer ce niveau de complexité.</p>

<p>Les sorties et messages d'erreur ont été "internationalisés", 
afin que Edbrowse accepte la plupart des langues européennes.&nbsp;
Positionnez la variable d'environnement LANG pour interagir avec Edbrowse dans une autre langue.&nbsp;
Les langues acceptées sont listées ci-dessous.&nbsp;
Pour l'instant, nous nous sommes limités aux caractères ISO8859-1, c'est-à-dire les langues indo européennes.&nbsp;
Si vous pouvez participer à cet effort, prière de me le faire savoir.</p>

<p>Anglais: LANG=en (c'est la langue par défaut)</p>
<p>Français: LANG=fr par <a href="mailto:erwinb@no-log.org">Erwin Bliesenick</a>
avec la <a href="edbdoc_fr.html">documentation</a></p>
<p>Portuguais brésilien: LANG=pt_br par
<a href="mailto:clever92000@yahoo.com.br">Cleverson</a></p>

<p>Quand un message d'erreur est affiché, les lettres accentuées sont affichées comme des octets de 8 bits, c'est-à-dire en ISO8859-1, à moins que la chaîne utf8 ou utf-8 soit présente dans $LANG, auquel cas les caractères non-ascii sont générés en utf8. LANG=fr_FR.UTF-8 est un réglage commun en France. Seuls ces jeux de caractères sont actuellement supportés. De même, le contenu d'un tampon, qu'il soit un fichier local ou un site internet, est affiché en séquences de 8 bits ou en séquences de 2 octets, conformément à votre environnement local. Si Edbrowse lit un fichier, c'est-à-dire qu'il le charge dans un tampon vide, et qu'il soit codé dans "l'autre" jeu de caractères, il est converti à la volée, bien avant que vous vous en aperceviez. Ainsi, il aura l'air normal. Si j'ai tout fait correctement, vous ne verrez aucune différence. (Utilisez la commande iu pour désactiver cette fonctionnalité.</p>

<p>Quand vous sauvegardez vos données dans le même fichier, c'est-à-dire si vous fait quelques ajouts ou modifications, je reconvertis le fichier dans son jeu de caractères original. Ainsi, vous pouvez renvoyer le fichier modifié à votre correspondant, et ce fichier sera dans son jeu de caractères, comme il l'escompte. Cependant, si vous sauvegardez vos données, ou une partie de vos donnés, sous un nouveau nom de fichier, je resterais dans le jeu de carctères utilisé par votre ordinateur.</p>

<p>Ces conversions ne devraient jamais intervenir sur des fichiers zip, ou des exécutables, ou d'autres types de données binaires. Si vous voyez les mots "conversion en iso8859" ou "conversion en utf8", il y a un problème. N'essayez pas de lancer l'exécutable converti; cela ne marchera pas.</p>

<p>Si votre environnement est en utf8, la fonction de recherche peut amener à quelques confusions. Considérons le mot espagnol niño (petit garçon). Si vous recherchez ni.o, vous ne trouverez pas la ligne contenant ce texte. Le point remplace un caractère, et devrait correspondre à ñ, mais cette lettre accentuée tient sur deux octets. Ironiquement, vous devrez chercher ni..o, et vous trouverez ce que vous cherchez. Nul besoin de dire que ceci est vraiment déroutant.</p>

<p>La recherche/remplacement est effectuée par la librairie pcre et, heureusement pour nous, la dernière version supporte l'utf8. En d'autres termes, je peux passer à pcre l'option qui lui dira de rechercher certaine séquence sur deux octets comme un caractère unique, et pcre se comportera comme attendu. Malheureusement, quelques anciens packages pcre ne possèdent pas cette fonctionnalité. Si vous êtes dans ce cas, vous recevrez un message d'avertissement, et pcre reviendra à son comportement original une lettre par octet. Pour désactiver cette possibilité, et supprimer ce message d'avertissement, mettez la variable d'environement PCREUTF8=off.</p>

<h3 align="center"> <a name="guide"> Guide de référence rapide </a> </h3>
Liste de toutes les commandes d'ed et d'edbrowse.&nbsp;
C'est un guide de référence rapide.&nbsp;
La plupart de ces commandes n'auront pas de sens si vous ne lisez pas le reste de la documentation.&nbsp;

<pre><font face="Arial,Helvetica,sans-serif" size="3">
q : stopper la session courante 
qt : stopper le programme complètement, que vous ayez sauvegardé vos fichiers ou non 
!commande : commande système 
p : afficher la ligne courante 
4,7p : afficher les lignes 4 à 7 
'a,'bp : afficher les lignes repérées par les étiquettes a et b 
kb : marquer la ligne courante avec l'étiquette b 
l : lister la ligne courante, montrant les caractères non ASCII en hexadécimal
n : afficher la ligne courante avec son numéro de ligne 
= : afficher le nombre de lignes du fichier en cours
 z22 : afficher les 22 prochaines lignes 
X : faire de cette ligne la ligne courante 
s/x/y/ : remplacer x par y dans la ligne courante 
s/x/y/2 : remplacer la deuxième occurrence de x par y sdans la ligne courante 
4,7s/x/y/g : remplacer toutes les occurrences de x par y, dans la ligne courante
/x/ : rechercher la ligne contenant x 
/x/i : rechercher la ligne contenant x ou X
ci : les recherches et les substitutions sont insensibles à la casse
cs : les recherches et les substitutions sont sensibles à la casse
sg : les chaînes de substitution sont globales pour toutes les sessions 
sl : les chaînes de substitution sont locales à leurs sessions 
lc : conversion de la ligne courante en minuscules
uc : conversion de la ligne courante en majuscules 
h : aide, expliquant le dernier point d'interrogation 
f : afficher le nom du fichier courant 
f foo : renommer le fichier courant en 'foo' 
f/ : ne conserveur que la dernière partie du nom de fichier courant 
e : afficher le numéro de la session courante 
e3 : aller à la session numéro 3 
e foo : éditer le fichier 'foo' 
r foo : lire le contenu du fichier 'foo' dans le tampon courant 
w : sauvegarder le tampon courant sous le nom 'foo'
w+ foo : ajouter au fichier 'foo' le contenu du tampon courant
w/ : sauvegarder sous le nom de la dernière partie du nom de fichier courant 
d : supprimer la ligne courante 
1, $d : supprimer toutes les lignes, de 1 à la fin du fichier 
u : annuler la dernière commande 
i : insérer le texte, suivi d'une virgule, avant la ligne courante
c : remplacer la ligne courante par un nouveau bloc du texte, terminé par une virgule 
a : ajouter le texte après la ligne courante, terminé par une virgule 
a+ : inclure la ligne que vous vous venez de taper, si vous pensiez être en mode ajout
4,7m11 : déplacer les lignes 4 à 7 à la ligne 11 
4,7t11 : copier les lignes 4 à 7 à la ligne 11 
3,4j : fusionner les lignes 3 et 4
3,4J : fusionner les lignes 3 et 4, séparées par un espace
g/x/ p : afficher les lignes contenant 'x' 
v/x/ p : afficher les lignes qne contenant pas 'x' 
B : trouver la ligne contenant la parenthèse correspondante 
b : naviguer dans le fichier courant courant, si c'est du HTML 
b foo.html : éditer et naviguer dans le fichier foo.html
b URL : se connecter à URL et naviguer
ub : quitte le mode navigation du fichier courant 
g : suivre le lien sur la ligne courante 
g2 : suivre le deuxième lien sur la ligne courante 
^ : retourner à la page à la page Web précédente
i=xyz : remplir le formulaire sur ligne courante avec 'xyz'
i2=xyz : placer le deuxième formulaire de la ligne courante avec 'xyz' 
i2* : appuyer sur le deuxième bouton de la ligne courante, habituellement envoyer ou remettre à zéro
i3 ? : afficher la description du troisième formulaire de la ligne courante 
db : niveau de déboguage (de 0 à 7)
cd : changer de répertoire 
bl : découper la ligne courante en phrases
dr : le répertoire est en lecture seule 
dw : on peut écrire dans le répertoire, et d déplace les fichiers dans la corbeille
dx : on peut écrire dans le répertoire, et d supprime le fichier
hf : basculer entre montrer/cacher les fichiers cachés du répertoire
bd : basculer entre détection/non détection des fichiers binaires du répertoire
eo : supprimer les marqueurs de fin
el : afficher les marqueurs de fin comme '^$' à l'affichage d'une ligne
ep : afficher les marqueurs de fin comme '^$' à l'affichage ou à l'impression d'une ligne
pb : joue le tampon 
ft : afficher le titre de la page Web courante 
fd : afficher la description de la page Web courante
fk : afficher les mots-clés de la page Web courante
hr : redirection HTTP
js : bascule : autoriser/interdire avascript
sr : envoyer le référent 
tn : activer/désactiver fins de ligne type MSDOS dans les formulaires de saisie
fma : mode FTP actif
fmp : mode FTP passif
fmd : mode FTPO par défaut, passif puis actif
rf : rafarichir la page WEB ou la liste des fichiers
et : éditer cette page Web en mode texte pur 
vs : vérifier les connexions SSL (sécurisées)
ip : montrer les numéros IP, habituellement pour les messages électroniques sauvegardés
sc : montrer les colonnes 
sm : envoyer le courrier [le numéro de compte] 
</font></pre>

<h3 align="center"> <a name="tips"> Trucs pour éviter les numéros de ligne </a> </h3>

Si vous découvrez Ed, vous pouvez trouver ce programme maladroit.&nbsp;
Je reçois souvent des plaintes au sujet des numéros de ligne.&nbsp;
Les gens haïssent les numéros de ligne.&nbsp;
Ils ne veulent pas lire la page ligne par ligne par ligne, en tapant 1p 2p 3p 4p 5p etc.&nbsp;
Pour tout dire, je hais également les numéros de ligne, et ne les utilise jamais.&nbsp;
 Pas depuis des années.&nbsp;

<p>
Pour lire le document entier, tapez 'p'.&nbsp;
Ceci fonctionne, si vous utilisez un synthétiseur de parole.&nbsp;
Le document entier est dans le tampon et vous pouvez le lire en employant les touches de fonction de votre synthétiseur. Comme la plupart des personnes utilisent toutefois des lecteurs d'écran, ceci ne fonctionnera pas.&nbsp;
Cependant, il y a une manière facile de sauter d'écran en écran.&nbsp;
Commencer par z20 pour obtenir les 20 premières lignes.&nbsp;
Ensuite, la commande 'z' donnera les 20 prochaines, et les 20 prochaines, et ainsi de suite.&nbsp;
Vous pouvez employer 22, 24, ou ce qui semble approprié à votre écran.&nbsp;
</p>
<p>
Une autre approche est de simplement taper la touche entrée, à plusieurs reprises, pour aller de ligne en ligne.&nbsp;
Il faudra peut-être taper une touche de fonction pour « lire » chaque ligne, après avoir tapé la touche entrée, ou peut-être pas, si votre synthétiseur possède un dispositif de lecture automatique.&nbsp;
</p>
<p>
Une fois habitué aux expressions régulières, vous pouvez sauter à n'importe quelle partie du document, même un grand document, dans un temps record, simplement en recherchant un fragment unique de texte.&nbsp;
Ceci vient avec la pratique.&nbsp;
Parfois je devine mal, et ma chaîne de recherche ne donne pas un résultat unique.&nbsp;
Je reviens quelque part au début du document et je dois recommencer la recherche.&nbsp;
Ceci ne se produit pas très souvent.&nbsp;
J'arrive habituellement au bon endroit en un ou deux essais.&nbsp;
</p>
<p>
Pour marquer certaines lignes de texte, n'essayez pas de vous rappeler les numéros de ligne.&nbsp;
Employez la commande 'k' pour les marquer.&nbsp;
J'emploie habituellement 'ka' et 'kb' pour marquer le début et la fin d'un bloc de texte, alors que 'kc' marque cette zone.&nbsp;
La commande pour aller à cette zone est alors 'a,'bm'c – sans numéro de ligne.&nbsp;
(C'est le standard de ed, bien que la plupart des personnes n'en tirent jamais profit) 
</p>
<p>
Pour rechercher des liens sur une page Web, rechercher l'accolade droite.&nbsp;
Oui, vous pouvez être arrêté sur une accolade littérale dans le texte, mais ceci ne se produit pas très souvent.&nbsp;
Vous pouvez accéder à un lien particulier en tapant « /{Next}/g ».&nbsp;
De même, vous pouvez rechercher des champs de saisie en recherchant le signe plus grand que (« > ».&nbsp;
(Ceci s'expliquera si vous connaissez le codage particulier des pages web.) et naturellement, les opérations multiples peuvent être mises dans un script, un dispositif unique à ce navigateur.&nbsp;
</p>
<p>
Ce sont juste quelques trucs qui vous rendront aussi rapide et efficace que quiconque employant un éditeur ou un navigateur écran, à condition de connaître la page sur laquelle vous travaillez.&nbsp;
(Vous ne serez jamais plus rapide que votre collègue voyant en naviguant dans un territoire peu familier, quel que soit le système employé).&nbsp;
Mon épouse est toujours stupéfaite de la rapidité avec laquelle je dialogue avec des sites Web, ou quand je travaille sur des documents communs à nous deux.&nbsp;
</p>

<h3 align="center"> <a name="mlist"> Liste de discussion </a> </h3>

Il y a une liste de diffusion pour des utilisateurs d'edbrowse et d'autres utilitaires en ligne de commande.&nbsp;
Vous pouvez vous y abonner en envoyant un courrier à
<a href="mailto:commandline-subscribe@yahoogroups.com?subject=Subscribe">
commandline-subscribe@yahoogroups.com</a>.

<h3 align="center"> <a name="dev"> Différences importantes par rapport à /bin/ed </a> </h3>

Certaines recherches/commandes de remplacement se comportent différemment sous cet éditeur.&nbsp;
C'est parce que les expressions régulières sont interprétées par la bibliothèque régulière compatible d'expression de Perl (pcre), plutôt que la bibliothèque traditionnelle de regexp.&nbsp;
Par conséquent les expressions régulières ont plus de possibilités, et plus de puissance, que les expressions régulières utilisées par /bin/ed.&nbsp;
La syntaxe est également quelque peu différente.&nbsp;
Par exemple, Perl emploie des parenthèses nues là où Ed emploie des accolades échappées - pour délimiter les sections de texte satisfaisant aux conditions.&nbsp;
Et Perl utilise $1… $9 pour référencer les sous-chaînes trouvées, tandis que Ed utilise \1… \9.&nbsp;
En outre, le Perl soutient le suffixe « i » pour la recherche insensible à la casse, avec le suffixe traditionnel « g » pour indiquer le remplacement global sur tout le texte.&nbsp;
Il n'y a aucune raison de décrire toutes les nuances ici.&nbsp;
Veuillez lire la page de manuel de perlre « man perlre  » pour une description complète des expressions régulières sous Perl.&nbsp;
Une fois accoutumés à leur puissance et flexibilité, vous ne reviendrez jamais à Ed.&nbsp;
<p>
Super ! Vous avez lu la page du manuel de perlre, et vous voilà de retour.&nbsp;
Voici quelques changements que j'ai fait aux expressions régulières de Perl.&nbsp;
J'ai constaté que « (and) » est presque toujours considéré comme un littéral, comme en recherchant maFunction (), aussi j'ai inversé la signification des parenthèses échappées dans Perl.&nbsp;
C'est-à-dire, « (and) » maintenant matche les caractères littéraux, et « \ (and \) marque les sous-chaînes correspondant à l'expression.&nbsp;
Ces sous-chaînes sont alors référencées, dans le texte de remplacement, de $1 à $9.&nbsp;
De même, « | signifie le littéral |, » alors que « \| » signifie l'alternative.&nbsp;
Je change également la signification de « & » du côté droit, pour reprendre ce qu'il signifie dans Ed.&nbsp;
Je garde ^ $ .[] + * ? et {m, n} comme interprété par Perl, suivant la description de la page du manuel de perlre.&nbsp;
Cependant, si * est le premier caractère, il est traité comme le caractère étoile.&nbsp;
Ceci s'explique, par le fait qu'il n'y a aucun caractère précédent à modifier.&nbsp;
Certaines versions de Ed font ainsi, mais pas toutes.&nbsp;
Mais je le trouve commode ; quand je veux remplacer * + ou ? , je n'ai pas besoin de les échapper, juste parce que ce sont des modificateurs.&nbsp;
De même, un couple de parenthèses est traité comme un littéral.&nbsp;
Ces changements à regexp, pour ressembler à Ed, peuvent vous gêner si vous êtes expert de Perl.&nbsp;
Désolé à ce sujet, mais je pense que ces changements facilitent l'utilisation de l'éditeur, surtout pour les utilisateurs d'Ed expérimentés.&nbsp;
Ci-dessous quelques différences additionnelles entre ce programme et /bin/ed.&nbsp;
</p>
<ul>
<li>
Les lignes commençant par # sont ignorées, pour faciliter l'insertion de commentaires dans vos scripts edbrowse.&nbsp;
Le caractère # n'a aucune signification spéciale au milieu d'une ligne.&nbsp;
<p></p></li>
<li>
Les lignes commençant par ! appellent un shell unix.&nbsp;
le caractère ! n'a aucune signification spéciale au milieu d'une ligne.&nbsp;
! appelle un shell interactif – dans ce shell, taper « exit » pour revenir à edbrowse.&nbsp;
Le mot «ok» est affiché lorsque vous quittez le shell.&nbsp;
<p></p></li>
<li>
Taper « cd répertoire » pour aller dans ce répertoire.&nbsp;
Le nouveau répertoire est toujours affiché.&nbsp;
Tapez « cd » pour savoir dans quel répertoire vous vous trouvez.&nbsp;
<p>
A la différence de bash, edbrowse ne revient pas en arrière par des liens symboliques.&nbsp;
Ainsi «..» est toujours le répertoire parent.&nbsp;
</p><p>
Les variables d'environnement sont expansées avant que la commande « cd »soit appliquée, y compris l'en-tête « ~ ».&nbsp;
Ainsi, « cd ~/documents » vous amène dans le répertoire « documents » de votre répertoire personnel.&nbsp;
</p><p>
Cette commande ne change aucun nom de fichier actif.&nbsp;
Vous pouvez éditer le fichier foo, faire « cd.. » , et sauvegarder : foo sera enregistré dans le répertoire parent.&nbsp;
Cela n'est probablement pas ce que vous vouliez, c'est pourquoi faites bien attention.&nbsp;
</p><p></p>
</li>
<li>
r travaille sur la ligne courante par défaut, et pas sur la dernière ligne.&nbsp;
Employer $r pour lire un fichier à ajouter à la fin de votre texte.&nbsp;
<p></p>
</li>
<li>
La commande « w+ » ajoute le tampon d'édition au fichier.&nbsp;
Quelques versions de Ed utilisent « w> » pour cette opération, mais pendant 40 ans « > » a été le standard pour écrire avec troncature.&nbsp;
 Donc utiliser « > » pour ajouter présente un risque de confusion. Et « w>> » est trop maladroit, ainsi j'emploie « w+» 
« w/ » écrit les données dans un fichier dont le nom est le dernier composant du nom de fichier courant.&nbsp;
C'est utile quand vous avez téléchargé un fichier appelé «this.that.com/foo/package-2.7.7-22.tar.gz », et vous voulez le sauvegarder sans avoir à retaper le dernier élément, c'est-à-dire le nom du fichier.&nbsp;
Alternativement, « f » change le nom du fichier, ne conservant que le dernier élément.&nbsp;
<p></p></li><li>
Chaque fois qu'un fichier est lu ou écrit sur disque, $var, dans un nom de fichier, est remplacé par la variable d'environnement correspondante.&nbsp;
Ainsi vous pouvez éditer votre carnet d'adresses en tapant « e $adbook », si $adbook a été placé dans votre environnement.&nbsp;
En outre, un « ~/ » en en-tête est remplacé par $HOME/, facilitant ainsi l'édition de fichiers dans votre répertoire personnel.&nbsp;
<p>
Les caractères meta du Shell sont également expansés, le résultat étant un nom de fichier.&nbsp;
Vous pouvez lire ou sauvegarder un fichier en ne tapant qu'une partie de son nom.&nbsp;
Ni $variables ni le caractère étoile ne sont expansés par Edbrowse, puisque cette expansion est effectuée par le shell d'Unix.&nbsp;
Les utilisateurs de Windows devraient compiler Edbrowse en utilisant « setargv.obj, » qui permet l'expansion sur la ligne de commande .&nbsp;
Ainsi vous devriez pouvoir éditer *.c sur n'importe quel système d'exploitation et obtenir tous fichiers source de C dans le tampon courant.&nbsp;
</p><p></p>
</li>
<li>
Beaucoup de versions d'Ed placent un « $ » à la fin d'une ligne dans le tampon, mais ce n'est pas la cas ici, au moins pas par défaut.&nbsp;
J'emploie un adaptateur linéaire de parole, plutôt qu'un lecteur d'écran, ainsi les caractères « fin de ligne » m'indiquent où se situent les fins de ligne.&nbsp;
<p>
Cependant, beaucoup emploient toujours des lecteurs d'écran, où l'espace de fin est indistinguable de l'écran vide, et un fragment de texte entouré d'espaces est parfois confondu avec une deuxième ligne.&nbsp;
Par conséquent, employez la commande « el » pour délimiter les lignes.&nbsp;
Les lignes présentes dans le tampon débutent par « ^ » et se terminent par « $ ».&nbsp;
Tapez « pe » pour placer ces marqueurs autour de toutes les lignes du tampon.&nbsp;
Utilisez « eo » pour enlever les marqueurs.&nbsp;
</p><p></p>
</li>
<li>
q quitte edbrowse sans message d'avertissement si le texte n'a été jamais associé à un fichier.&nbsp;
<p></p>
</li>
<li>
Q majuscule ne quitte pas l'éditeur.&nbsp;
C'est parce que je frappe souvent la touche de blocage majuscule par erreur, ou parfois «shift q», et si j'ai oublié quelques modifications importantes que j'ai effectuées, ces modifications sont perdues ! Je sais, ceci semble artificiel, parce que cela ne devrait jamais arriver, mais le fait est que cela m'est souvent arrivé, j'ai donc neutralisé Q majuscule.&nbsp;
 Tapez « qt » pour quitter Edbrowse « en force ».&nbsp;
<p></p>
</li>
<li>
J majuscule fusionne les lignes avec un espace entre elles.&nbsp;
<p></p>
</li>
<li>
x (chiffrement) n'est pas implémenté.&nbsp;
<p></p>
</li>
<li>
p (message de sollicitation) n'est pas implémenté.&nbsp;
<p></p>
</li>
<li>
on assume que le numéro de ligne absent avant ou après la virgule est 1 et $.&nbsp;
C'est conformé à «,p --» pour afficher le fichier entier.&nbsp;
<p></p>
</li>
<li>
Vous ne pouvez pas taper une commande sur deux lignes en mettant un antislash en fin de première ligne.&nbsp;
Et c'est inutile de toute façon, puisque Perl traduit « \n ».&nbsp;
Pour dédoubler une ligne au milieu du mot « bonjour », tapez « s/bonjour/bon-\njour ».&nbsp;
<p></p>
</li>
<li>
Seuls les 500 premiers caractères d'une ligne sont affichés.&nbsp;
Le reste de la ligne est dans le tampon, et peut être modifié par l'intermédiaire d'une commande remplacement, mais si vous voulez la voir, vous devrez la dédoubler, comme dans l'exemple « bonjour » ci-dessus.&nbsp;
<p></p>
</li>
<li>
a+ ajoute du texte, comme a, mais ajoute également la ligne que vous venez de taper, quand vous pensiez être mode insertion, mais que vous n'y étiez pas.&nbsp;
<p></p>
</li>
<li>
Ce programme est moins tolérant vis-à-vis des espaces que /bin/ed.&nbsp;
<br> « 57, 63 p » ne fonctionnera pas.&nbsp;
<p></p>
</li>
<li>
Un seul « % » en fin de substitution est remplacé par la dernière partie droite. Quelques versions d'Ed fonctionnent ainsi, d'autres non ; Je trouve ce dispositif commode.&nbsp;
<p></p>
</li>
<li>
s remplace «s/, +,\n » pour découper les lignes en phrases.&nbsp;
tapez « s.&nbsp;
 » pour dédoubler une ligne après le premier point jusqu'à une fin de phrase.&nbsp;
« s;s:s)s" » peuvent s'employer.&nbsp;
« s,3 » découpe la ligne après la troisième virgule.&nbsp;
Il faudra taper « s2 » si la phrase commence par M. Untel.&nbsp;
<p></p>
</li>
<li>
Taper s pour « s//% ».&nbsp;
<p></p>
</li>
<li>
Les commandes « sg » et « sl » rendent respectivement globales et locales les chaînes de substitution.&nbsp;
Si vous voulez chercher tous les « foo » dans tous les fichiers du répertoire courant courant, et les remplacer certains d'entre eux par « toto ».&nbsp;
Taper « *, » (éditer tous les fichiers), puis « sg » pour rendre globales les chaînes de substitution.&nbsp;
Dans la session courante, chercher « foo », et remplacer certains d'entre eux par « toto ».&nbsp;
Taper « e2 » pour ouvrir une deuxième session, où vous pouvez rechercher en utilisant seulement le caractère « / », parce que la chaîne « foo » est globale à toutes les sessions.&nbsp;
De même, vous pouvez utiliser « % » pour se référer à «toto».&nbsp;
La commande « sl » revient au comportement local de l'éditeur, où chaque fichier possède ses propres chaînes de recherche et de remplacement.&nbsp;
.&nbsp;
<p></p>
</li>
<li>
Les erreurs de lectures et d'écriture de fichiers, ou les erreurs de changement de session sont toujours affichées.&nbsp;
D'autres erreurs affichent le point d'interrogation habituel, : dans ce cas vous devrez taper «h » pour obtenir l'explication.&nbsp;
Tapez H majuscule pour avoir les messages d'erreur.&nbsp;
<p></p>
</li>
<li>
Dans la plupart des versions d'Ed, la commande « z7 » signifie «.,+6p », faisant de la ligne courante +7 la nouvelle ligne courante.&nbsp;
Je pense que c'est inconsistent, Ed vous laissant quelque part ailleurs que sur la dernière ligne affichée.&nbsp;
La confusion est totale avec « z » qui affiche les dernières lignes du fichier: ici la ligne courante devient réellement la dernière ligne affichée.&nbsp;
J'ai donc légèrement modifié la commande « z ».&nbsp;
Dans ce programme z7 signifie « +,+7p », et la ligne courante devient la dernière ligne affichée, comme les autres commandes.&nbsp;
Sans nombre, « z » affiche le nombre de lignes précédentes.&nbsp;
Ainsi vous pouvez lire votre fichier par morceaux ou écran par écran
.&nbsp;
</li>
</ul>

<p>
Les sections suivantes décrivent de nouveaux dispositifs, totalement étrangers à Ed.&nbsp;
Ceux-ci incluent l'édition simultanée de fichiers comme dans emacs et vi, la navigation dans un document HTML et « l'édition» des formulaires de saisie.&nbsp;
C'est la raison pour laquelle j'ai développé ce programme.&nbsp;
</p>

<h3 align="center"> <a name="brace"> Equilibrage des parenthèses </a> </h3>

La commande B majuscule intéresse les programmeurs, et ne sera pas probablement pas employée par les autres utilisateurs.&nbsp;
Elle localise la ligne avec une parenthèse, une accolade, ou un crochet.&nbsp;
Exemple: 
<pre><font face="Arial,Helvetica,sans-serif" size="3">
<code>  if(x == 3 &amp;&amp;
  y == 7) {
    printf("bonjour\n");
  } else {
    printf("monde\n");
    exit(1);
  }
</code></font></pre>

<p>
La commande B majuscule, sur la deuxième ou dernière ligne, se déplace à la ligne du milieu « } else { », laquelle équilibre l'accolade ouvrante de la ligne 2 ou l'accolade fermante de la dernière ligne.&nbsp;
Sur la première ligne, B se déplace à la deuxième ligne, équilibre la parenthèse ouverte.&nbsp;
La deuxième ligne équilibres {, plutôt que ), parce que les accolades ont la priorité sur les parenthèses, qui ont la priorité sur les crochets.&nbsp;
Vous pouvez forcer un match de parenthèses par « B) ».&nbsp;
</p>
<p>
La commande B sur la ligne du milieu est ambiguë - je ne sais pas s'il faut regarder en arrière ou vers l'avant.&nbsp;
Tapez plutôt « B{« ou « B} ».&nbsp;
</p>
<p>
Vous pouvez explicitement équilibrer le <>, pour les tags multilignes de HTML, ou «`», utilisé dans des certains préprocesseurs tels que m4.&nbsp;
</p>

<h3 align="center"> <a name="cx"> Changement de contexte </a> </h3>

Ce programme permet d'éditer des fichiers multiples en même temps, et autorise le transfert de texte entre eux.&nbsp;
C'est semblable aux terminaux virtuels (Linux), où vous changez de session par l'intermédiaire d'alt-f1, alt-f2, jusqu'à alt-f6.&nbsp;
Ici, vous basculez sur une session d'édition différente par l'intermédiaire des commandes « e1 », « e2 », jusqu'à « e6 ».&nbsp;
Notez que « e 2 » (avec un espace entre e et 2) édite le fichier dont le nom est « 2 », tandis que « e2 » (sans espace) bascule sur la session 2.&nbsp;
De même, vous pouvez lire le contenu de la session 3 dans le tampon courant en tapant « r3 », et vous pouvez sauvegarder le tampon courant dans la session 5 par l'intermédiaire de « w5 ».&nbsp;
La dernière commande vous avertira si la session 5 existe déjà, et vous avez modifié son contenu sans l'avoir sauvegardé.&nbsp;
En d'autres termes, vous êtes sur le point de perdre votre travail en session 5.&nbsp;
Taper « h » vous expliquera : « 'w' attendu sur la session 5 ».&nbsp;
<p>
Si vous quittez une session, vous allez à la prochaine session d'édition valide, revenant à la session 1 si besoin.&nbsp;
La sortie du programme s'effectue lorsqu'on quitte la dernière session.&nbsp;
</p>
<p>
Attention, le programme contient un bogue concernant la commande « undo » (annuler).&nbsp;
Si vous changez de session, puis revenez en arrière, vous ne pourrez pas annuler vos derniers changements.&nbsp;
On peut penser qu'il est facile de corriger cette bogue, mais c'est plus subtil qu'il y paraît, je n'y ai donc pas touché.&nbsp;
J'ai simplement voulu vous en avertir.&nbsp;
Assurez-vous que tout est correct avant de changer de session.&nbsp;
</p>
<p>
Voyons un exemple de copier/coller.&nbsp;
Vous éditez le fichier « essai » en session 1, et vous vous rendez compte qu'un paragraphe du fichier « toto » s'adapterait parfaitement bien ici.&nbsp;
Voici comment cela pourrait se présenter.&nbsp;
Les lignes commençant par « < » sont l'entrée de l'utilisateur, et des lignes commençant par « > » sont les réponses du programme.&nbsp;
Le signe « # » représente mes commentaires.&nbsp;
</p>
<pre><font face="Arial,Helvetica,sans-serif" size="3">
&lt; e2 # bascule sur la session 2
&gt; new session # nouvelle session
# la commande « r » ne crée pas un nouveau fichier, même si le tampon est vide.&nbsp;
# ainsi, « r toto» est plus sûr que « e toto ».&nbsp;
# après tout, nous ne voulons pas modifier toto, nous voulons juste y voler quelque chose.&nbsp;
&lt; r toto
&gt; 28719 
&lt; /start/ 
&gt; ceci est le début du joli paragraphe que vous voulez copier.&nbsp;
&lt; 1,-d # on n'a pas besoin de ce qu'il y a avant 
&lt; /end/ 
&gt; ceci est la fin du joli paragraphe que vous voulez copier.&nbsp;
&lt; +,$d # on n'a pas besoin de ce qu'il y a après 
&lt; e1 
&gt; essai 
&lt; r2 
&gt; 3279 # taille du texte lu de la session 2 
&lt; q2 #, on fait le ménage, en se débarrassant de la session 2 
&lt; W # sauvegarde de essai, avec le nouveau paragraphe inclus 
&gt; 62121 
</font></pre>

<p>
Ci-dessous, comment transférer une portion de texte d'un fichier à un autre
</p>
<pre><font face="Arial,Helvetica,sans-serif" size="3">
&lt; e2 
&gt; new session # nouvelle session
&lt; e toto # cette fois je vais modifier le fichier
&gt; 28719 
&lt; /start/ 
&gt; c'est le début du joli paragraphe frais que vous voulez déplacer.&nbsp;
&lt; ka # marque le paragraphe 
&lt; /end/ > ceci est la fin du joli paragraphe que vous voulez déplacer 
&lt; kb 
&lt; 'a,'bw3 
&gt; 3279 
&lt; 'a, 'bd 
&lt; W # sauvegarde toto sans le joli paragraphe
&gt; 25440 
&lt; q 
&gt; no file # aucun fichier, on est maintenant en session 3 
&lt; e1 
&gt; essai # de nouveau à la session 1 
&lt; r3 
&gt; 3279 
&lt; q3 on arrête la session 3, bien qu'étant toujours en session 3 
&lt; W # sauvegarde de essai, avec le nouveau paragraphe inclus 
&gt; 62121 
</font></pre>

<p>
La commande « e », indique la session courante, au cas où vous l'oublieriez.&nbsp;
Comme la commande « f, » , qui indique le fichier courant.&nbsp;
</p>

<h3 align="center"> <a name="usage"> Utilisation </a> </h3>

Tapez « edbrowse -h » pour lire les conseils d'utilisation.&nbsp;
Vous verrez l'option « -m », utilisée de différentes manières.&nbsp;
Ignorez-la pour l'instant.&nbsp;
L'option « -m » lance edbrowse en tant que client interactif de courrier, plutôt qu'un éditeur.&nbsp;
Nous y reviendrons.&nbsp;
<p>
L'option « -dx » place le niveau de déboguage à x, où x est entre 0 et 9.&nbsp;
Le défaut est « -d1 », qui affiche les tailles des fichiers lorsqu'ils sont lus ou sauvegardés.&nbsp;
Certains préfèrent « -d2 », qui affiche l'URL lorsque vous allez à de nouvelles pages Web ou remplissez des formulaires en ligne.&nbsp;
À moins que vous vouliez déboguer le programme, vous n'irez probablement pas plus haut que « -d3 ».&nbsp;
A de rares occasions, vous pourriez employer « -d4 », pour afficher les en-têtes HTTP dedans et dehors.&nbsp;
Rappelez-vous, le niveau de déboguage peut être modifié en cours en employant la commande « dbx » (x entre 0 et 9).&nbsp;
</p>
<p>
L'option « -e » force edbrowse à quitter en cas d'erreur.&nbsp;
Ceci est habituellement employé par des scripts de traitements par lots.&nbsp;
S'il y a un problème, vous ne voudriez pas continuer ainsi en exécutant le reste des commandes de edbrowse.&nbsp;
</p>
<p>
Utilisez « -c » pour désactiver et éditer, le fichier de configuration « .ebrc ».&nbsp;
(Ce fichier de config sera décrit plus tard).&nbsp;
Pourquoi le faire? Supposez que vous avez modifié ce fichier, avec une erreur de syntaxe, de telle sorte que edbrowse ne puisse même pas démarrer.&nbsp;
Vous ne pourriez plus employer edbrowse pour fixer votre fichier de configuration.&nbsp;
Naturellement vous pourriez renommer le fichier de configuration, fixer l'erreur, et revenir en arrière ; mais alors vous pourriez découvrir une autre erreur de syntaxe, et ainsi de suite.&nbsp;
Au lieu de cela, l'option « -c » permet d'éditer le fichier de configuration directement.&nbsp;
Il est automatiquement chargé dans le tampon 1.&nbsp;
Noter que « -c » doit être la première option.&nbsp;
</p>
<p>
Les arguments sont les fichiers à éditer.&nbsp;
Edbrowse lit ces fichiers dans les sessions correspondantes, et vous commencerez en session 1.&nbsp;
S'il n'y a aucun argument, vous commencez en session 1, mais il n'y a aucun texte et aucun fichier associé.&nbsp;
</p>
<p>
Si vous aimez ce programme, et vous voulez qu'il soit votre éditeur principal, vous pouvez placer l'alias Unix suivant :
</p>
<p>
alias e= " /usr/bin/edbrowse " 
</p>
<p>
Si vous le faites, vous pouvez employer «e nom_de_fichier», pour éditer un nouveau fichier, que vous soyez dans edbrowse ou dans le shell Unix.&nbsp;
Très commode.&nbsp;
</p>

<h3 align="center"> <a name="bin"> Caractères binaires </a> </h3>

À tout moment, même lorsqu'on tape un nom de fichier, le programme balaye l'entrée à la recherche de codes binaires.&nbsp;
Désolé, mais je préfère l'hexadécimal à l'octal.&nbsp;
Je sais que ce n'est pas standard, mais c'est comme çà.&nbsp;
Employez la séquence triple « ~bd » pour écrire le caractère non-ASCII 0xbd, code de « 1/2 ».&nbsp;
De même, si vous listez une ligne, avec la commande « l », le caractère « 1/2 » est affiché « ~bd ».&nbsp;
Tout ce qui non ASCCI et la plupart des caractères de contrôle sont tapés et affichés de cette manière.&nbsp;
La tabulation et le retour-chariot doivent être tapés directement au clavier.&nbsp;
Tabulation et retour arrière sont affichés respectivement « > » et « < ».&nbsp;
Si la ligne suivante est tapée, 

<p>
« Hello~07 ~x is ~bd of y »
</p>
<p>
Et ensuite listée, vous verrez ce texte, mais il y a un bip sonore et « 1/2 » à l'intérieur.&nbsp;
Le ~x n'est pas codé , parce que x n'est pas un caractère hexadécimal.&nbsp;
Si vous voulez forcer un ~, même s'il y a des caractères hexadécimaux qui suivent, employez deux tildes, « ~~ ».&nbsp;
</p>
<p>
Quand vous tapez une expression régulière, vous avez le choix, hexadécimal ou octal.&nbsp;
Ce programme convertit « ~xx » en hexadécimal, et la machinerie regexp de Perl convertit « \nnn » en octal.&nbsp;
Ainsi, les commandes qui suivent annuleront les fins de lignes DOS d'un fichier.&nbsp;
La première est traduite par mon programme, la deuxième et troisième par le regexp de Perl.&nbsp;
</p>
<pre><font face="Arial,Helvetica,sans-serif" size="3">
,s/~0d$//
,s/\15$//
,s/\r$//
</font></pre>

<p>
Les caractères échappés sont toujours affichés en hexadécimal, que la ligne soit listée ou non.&nbsp;
La plupart des terminaux et des émulateurs de terminal, y compris la console Linux et mon adaptateur de parole, interprètent les séquences d'échappement comme des commandes .&nbsp;
Ainsi une séquence d'échappement présente dans un fichier binaire peut mettre votre terminal ou votre adaptateur de la parole dans un état inattendu, rendant le rétablissement difficile.&nbsp;
Il semble prudent d'afficher en permanence les caractères échappés comme caractères visibles.&nbsp;
Si vous n'avez aucune idée d'où ce « ~1b » est venu, c'est probablement un caractère littéral échappé.&nbsp;
</p>
<p>
Les retours-chariots et les caractères nuls sont également convertis en hexadécimal.&nbsp;
Ainsi une ligne contenant un retour-chariot n'apparaîtra pas comme deux lignes.&nbsp;
Vous le verrez en important un fichier texte de DOS.&nbsp;
Chaque ligne finit par « ~0d ».&nbsp;
Tapez une des trois commandes ci-dessus pour effacer ces fins de lignes DOS.&nbsp;
</p>

<h3 align="center"> <a name="bfile"> fichiers binaires </a> </h3>

Un fichier est considéré comme binaire s'il dépasse 50 octets et s'il contient une proportion significative de caractères non-ASCII ou nuls (plus de 25%).&nbsp;
Les fichiers texte internationaux peuvent contenir des codes binaires dispersés, pour les lettres accentuées etc., mais la plupart des caractères devraient être en ASCII.&nbsp;
Par conséquent les fichiers binaires ne sont pas des fichiers texte internationaux.&nbsp;
En fait vous ne pourrez pas probablement afficher ou éditer des données binaires efficacement, au moins par ce programme.&nbsp;
Mais ne vous laissez pas arrêter.&nbsp;
A titre d'exercice, créer un programme exécutable affichant « bonjour monde», puis éditez l'exécutable en utilisant ce éditeur.&nbsp;
Rechercher la chaîne « bonjour » et remplacer « monde » par « tonte ».&nbsp;
Sauvegardez le fichier et relancez l'exécutable.&nbsp;
Vous devriez maintenant voir « bonjour tonte ».&nbsp;

<p>
Quand des données binaires sont lues dans le tampon, vous verrez les mots « données binaires ».&nbsp;
Le tampon reste « binaire », même si vous supprimez toutes les données pour les remplacer par de l'ASCII.&nbsp;
Vous devez employer la commande « e » pour obtenir un nouveau tampon ASCII.&nbsp;
</p>
<p>
Pour la plupart d'entre nous, il n'importe pas vraiment si les données sont considérées binaires ou ASCII.&nbsp;
Dans l'un ou l'autre cas, vous pouvez afficher et éditer les données, et les sauvegarder dans un fichier.&nbsp;
</p>
<p>
Ce programme essaie « de se comporter correctement » sous DOS/Windows.&nbsp;
C'est-à-dire, il convertit les crlf et retours-chariots s'il pense que le fichier est un fichier texte ; et il laisse des données binaires intactes.&nbsp;
Ces distinctions sont sans objet sur Unix/Linux.&nbsp;
</p>
<p>
Bien que cette approche soit satisfaisante pour l'anglais et la plupart des langues européennes, elle échoue misérablement pour les langues asiatiques, très semblables aux données binaires.&nbsp;
Vous pouvez neutraliser la détection binaire en tapant la commande « bd ».&nbsp;
Si vous parlez une langue asiatique, mettez cette commande dans votre script d'init, ainsi edbrowse est lancé de la manière que vous voulez - traiter vos fichiers internationaux comme fichiers des textes.&nbsp;
</p>
<p>
Si vous parlez une langue asiatique, et employez Windows, et si la détection binaire est désactivée, n'employez pas ce programme pour travailler sur des fichiers binaires, car ils seront corrompus! Il est certainement préférable de dire au revoir à Windows et commencer à employer un vrai système d'exploitation.&nbsp;
</p>

<h3 align="center"> <a name="dir"> Listing de répertoire, gestionnaire de fichiers </a> </h3>

Si vous parcourez un répertoire, vous verrez une liste de tous les fichiers non cachés de ce répertoire, dans l'ordre alphabétique.&nbsp;
(Employer l'option «hf» si vous voulez également voir les fichiers cachés).&nbsp; Tapez « g » pour aller à un de ces fichiers ou sous-répertoires.&nbsp;
Tapez « ^ » pour revenir au répertoire parent.&nbsp;
(Notez, g est la commande «go», et « ^ « est la touche retour arrière ; nous y reviendrons).&nbsp;
Vous pouvez traverser ainsi un arbre entier de répertoire comme si vous étiez à l'intérieur d'un gestionnaire de fichiers.&nbsp;
<p>
Comme « ls -F », un sous-répertoire est indiqué par un slash de fin.&nbsp;
Ce slash ne fait pas partie du nom de fichier.&nbsp;
De même, le caractère appelé pipe est indiqué par « | », le lien symbolique par « @ », fichier bloc par « * », le caractère spécial par « < », et un socket par « ^ ».&nbsp;
Si le nom d'un fichier finit par un de ces caractères, il peut vous induire en erreur, mais pas le programme.&nbsp;
Edbrowse sait si « | » fait partie du nom de fichier ou si c'est un indicateur de pipe.&nbsp;
Puisque chaque fichier est représenté par une seule ligne du texte, edbrowse ne peut accéder à des fichiers contenant des caractères retour-chariot dans leur nom.&nbsp;
</p>
<p>
Si vous lisez un répertoire dans un fichier préexistant, c'est juste du texte.&nbsp;
Vous ne pouvez pas visiter ces fichiers, parce que ce sont juste des mots.&nbsp;
Vous devez afficher un répertoire dans une session propre ou lire un répertoire dans une session vide si vous voulez accéder aux fichiers.&nbsp;
Noter que vous pouvez sauvegarder le tampon dans une autre session d'édition, et de ce fait, dans cette session les mots seront juste des mots.&nbsp;
Cette distinction est importante dès que l'on commence à éditer du texte.&nbsp;
</p>
<p>
Par défaut, les répertoires sont en lecture seule.&nbsp;
Si vous essayez de supprimer une ligne, et par conséquent le fichier associé, on vous indiquera que vous êtes toujours en mode lecture de répertoire.&nbsp;
J'essaye de vous sauver de vous-même ! Tapez « dw » pour permettre l'écriture dans un répertoire, et « dr » pour rendre le répertoire à nouveau en lecture seule.&nbsp;
</p>
<p>
Quand un répertoire est en lecture/écriture, on peut supprimer des fichiers en utilisant la commande « d ».&nbsp;
Par exemple, « g/\.&nbsp;
o$/d » supprime tous les fichiers objets.&nbsp;
Puisque ces manipulations ont des effets en dehors de ce programme, il n'est pas possible de revenir en arrière.&nbsp;
Quand vous faites un changement, c'est fait.&nbsp;
Ayant cela à l'esprit, j'ai emprunté une bonne idée à Microsoft qui, comme vous le soupçonnez, vient d'Apple.&nbsp;
Le fichier supprimé n'est pas supprimé réellement ; il est déplacé dans votre corbeille, située dans « $home/.Trash ». &nbsp;
(Ceci est consistant avec le Mac et beaucoup de versions de Linux.)&nbsp;
Ainsi si vous tapez accidentellement « ,d » et enlevez tous vos fichiers, vous pourrez les récupérer dans la corbeille.&nbsp;
Il est possible de programmer « cron » pour supprimer tous les fichiers de la corbeille une fois par semaine.&nbsp;
Ce répertoire est créé avec le mode 700, ainsi personne d'autre que vous ne peut regarder ce qu'il contient.&nbsp;
Si vous créez ce répertoire vous-même, mettez-le en mode 700.&nbsp;
Après tout, certains de vos fichiers peuvent être privés.&nbsp;
</p>
<p>
Puisque cette opération est un mouvement, plutôt qu'un effacement vrai, il y a quelques restrictions provenant de votre système d'exploitation.&nbsp;
Si votre OS peut déplacer des répertoires, ce programme pourra supprimer un sous-répertoire aussi facilement qu'un fichier.&nbsp;
Le sous-arbre entier est déplacé dans la corbeille.&nbsp;
Assurez-vous que le cron de nettoyage est capable d'enlever des répertoires, et pas seulement des fichiers.&nbsp;
</p>

<p>Si la corbeille est sur un autre système de fichiers, le fichier est copié, plutôt que déplacé. Pratiquement, c'est la même chose; ainsi, le fichier aura les mêmes permissions, et l'heure courante de création. Les répertoires ne peuvent être copiés par ce moyen. Vous devrez copier un répertoire par vous-même, puis le supprimer, en utlisatnt cp -r et rm - r.</p>

<p>Notez que la commande dx, qui supprime réellement des fichiers, est le seul moyen de faire de la place sur le disque. Les liens symboliques et les fichiers spéciaux sont toujours supprimés : il n'y a pas beaucoup de sens à déplacer un lien symbolique dans la corbeille.&nbsp;</p>

<p>
« Pourquoi tout ceci ? » pourriez-vous demander.&nbsp;
« Qu'est-ce qui ne va pas avec le shell? » 
</p>
<p>
Rien, tant que les noms de fichier sont petits et familiers.&nbsp;
Mais parfois les noms de fichier sont longs et incompréhensibles, et il est presque impossible de taper ces noms dans le shell, caractère par caractère, majuscule et minuscule, sans erreurs.&nbsp;
Les méta-caractères tels que * peuvent aider, mais seulement quand le fichier qui vous intéresse a un nom radicalement différent des autres fichiers du répertoire.&nbsp;
Ce n'est pas toujours le cas.&nbsp;
Supposez qu'une application produit des fichiers de log comme suit :
</p>
<pre><font face="Arial,Helvetica,sans-serif" size="3">ProgramFooBar.-04-04-1998.06:31:59.log
ProgramFooBar.-04-11-1998.11:37:14.log
ProgramFooBar.-04-18-1998.16:22:51.log
</font></pre>
<p>
Comment supprimer les vieux fichiers pour ne garder que le plus récent, ou les renommer sous un nom plus explicite ? Le caractère « * » est un peu risqué ; vous risquez de modifier tous sans le réaliser.&nbsp;
Et ne parlons pas de ces fichiers embêtants avec les espaces ou qui ont des caractères de contrôle invisibles dans leurs noms.&nbsp;
Notre ami voyant appelle son gestionnaire de fichiers et clique simplement sur le fichier qu'il veut regarder ou éditer ou supprimer.&nbsp;
Parfois je veux/j'ai besoin de ce genre de puissance.&nbsp;
</p>
<p>
Quand la commande de remplacement modifie le contenu, elle renomme le fichier original.&nbsp;
Ce dernier ne sera donc pas écrasé.&nbsp;
Vous ne perdrez aucune donnée.&nbsp;
Encore une fois, je vous protège de vous-même.&nbsp;
</p>
<p>
Les commandes de recherche et de remplacement ignorent le caractère « / » de fin.&nbsp;
Si vous voulez renommer le répertoire « mont/ » en « montagne/ », tapez « s/$/agne/ ».&nbsp;
« agne » sera ajouté à « mont » parce que le caractère « / » n'est pas vraiment là.&nbsp;
</p>
<p>
Supposons maintenant que vous voulez exécuter un programme quelconque sur certains de ces fichiers.&nbsp;
Ceci pourrait être un utilitaire d'impression, un compilateur, etc.&nbsp;
Parfois vous voulez renommer les fichiers à votre convenance, pour travailler dans le shell.&nbsp;
Mais parfois vous n'êtes pas propriétaire de ces fichiers, et parfois ils doivent garder leurs noms originaux.&nbsp;
Par exemple, plusieurs documents de HTML reliés entre par des hyperliens, en utilisant leurs noms de fichier existants.&nbsp;
Ici, vous ne pouvez pas renommer les fichiers, pourtant vous voulez toujours exécuter votre programme sur un ou deux d'entre eux.&nbsp;
</p>
<p>
Vous pouvez exécuter n'importe quel programme sur n'importe quel fichier sans retaper ce nom de fichier en appelant un shell.&nbsp;
Utilisez « kx » pour affecter l'étiquette X au fichier qui vous intéresse.&nbsp;
(c'est la syntaxe Ed standard).&nbsp;
Lancez ensuite « !programme 'x » pour appeler ce programme sur ce fichier.&nbsp;
Ceci semble compliqué, mais c'est en fait une simple macro de substitution, programmée en quelques lignes de code.&nbsp;
Si 'x est présent dans une commande shell, et n'est pas suivi ou précédé de chiffres ou lettres, il est remplacé par le texte présent sur la ligne étiquetée x.&nbsp;
Si votre nom de fichier contient les espaces, tapez '!programme « 'x », pour s'assurer le nom de fichier entier est l'argument du programme appelé.&nbsp;
</p>
<p>
Le token « '. » est remplacé par le contenu de la ligne courante, et le token « '_ » est remplacé par le nom de fichier courant.&nbsp;
Si vous essayez de sauvegarder un fichier en lecture seule, vous pouvez autoriser l'écriture en tapant « !chmod +w '_ », puis sauvegarder votre texte.&nbsp;
</p>
<p>
Vous pouvez expanser des tokens multiples dans une commande shell.&nbsp;
Employez « kx » et « ky » pour étiqueter deux fichiers que vous voulez comparer, et lancez alors « !diff 'x 'y ».&nbsp;
</p>
<p>
Ce dispositif n'est pas limité aux parcours de répertoire.&nbsp;
Vous pouvez éditer un fichier simple, mais vous pouvez encore coller le contenu d'une ligne dans votre commande shell.&nbsp;
Je ne sais pas pourquoi vous voudriez faire ceci, mais c'est possible.&nbsp;
</p>

<h3 align="center"> <a name="case"> Majuscules et minuscules </a> </h3>

La commande « lc » convertit une ligne en minuscules, et « uc » en majuscules.&nbsp;
Les utilisateurs de Perl reconnaîtront ces commandes.&nbsp;
Par extension, « mc » convertit en casse mélangée, mettant en majuscule la première lettre de chaque mot, et le « d » de « mcdonald.&nbsp;

<p>
C'est particulièrement utile dans un parcours de répertoire.&nbsp;
La dernière chose qui doit préoccuper une personne aveugle est de se demander si certaines des lettres dans un nom de fichier sont majuscules.&nbsp;
Si on peut écrire dans le répertoire, taper « lc » convertira tous les noms de fichier en minuscules.&nbsp;
C'est simple.&nbsp;
</p>
<p>
Si vous voulez mettre en majuscules un mot particulier, tapez « s/mot/uc/ ».&nbsp;
Ceci convertit le mot en majuscules.&nbsp;
Tous les autres suffixes de substitution s'appliquent.&nbsp;
Pour changer foo, Foo, FOo, FOO en FOO, partout, 
tapez « ,s/\ bfoo\b/uc/ig ».&nbsp;
</p>

<h3 align="center"> <a name="bl"> Fin de ligne </a> </h3>

La commande « bl » découpe la ligne courante en phrases et expressions, chacune d'environ 70 caractères de long.&nbsp;
Elle comprime les espaces et supprime les espaces en fin de ligne.&nbsp;
Si la ligne contient les caractères retour-chariot, ceux-ci sont transformés en séparateurs de ligne - endroits où la ligne sera certainement coupée.&nbsp;
Les seuls espaces préservés sont les étiquettes ou les espaces en début de ligne, ou après chaque caractère retour-chariot.&nbsp;
C'est une modeste tentative pour maintenir le texte indenté, à supposer que ce soit raisonnable. 
<p>
J'utilise ce dispositif de deux manières différentes.&nbsp;
Si je connais bien le document, (je l'ai probablement écrit), je peux employer la commande bl sur une ligne du texte qui semble plutôt longue.&nbsp;
Je l'ai tapée rapidement, sans m'interrompre, et maintenant je veux la découper.&nbsp;
Mais je ne veux pas compter les signes de ponctuation et me dire, « j'ai besoin d'une coupure après la troisième virgule et le point suivant 'cela' et puis à la prochaine virgule », utilisant sans cesse la commande de ponctuation « s ».&nbsp;
Oh j'aime bien la commande « s » - qui me donne le contrôle complet - mais il est plus facile de taper « bl » - et « bl » fait habituellement la bonne chose.&nbsp;
En outre, le bl comprime les doubles espaces accidentels, un faute de typographie que je n'entendrai jamais si je lis simplement la ligne dans l'ensemble.&nbsp;
</p>
<p>
Quand le document est importé, habituellement d'un traitement de texte tel que Word, « bl » remplit une fonction complètement différente.&nbsp;
Les paragraphes sont souvent stockés sur une ligne physique simple.&nbsp;
Parfois le document entier ne comporte qu'une seule ligne, avec le caractère de retour « \r » séparant les paragraphes.&nbsp;
Les traitements de textes « wysiwyg » ne s'occupent pas de séparer les phrases et expressions - le retour automatique à la ligne s'en chargeant.&nbsp;
Bien, « bl » est notre version de retour automatique à la ligne.&nbsp;
Il n'essaie pas de se conformer à un écran ; il coupe simplement le texte en morceaux maniables, chaque morceau étant une unité sémantique séparée.&nbsp;
Quand « bl » est lancé, les lignes physiques contiendront des phrases ou des expressions, délimitées par la ponctuation, ou par le caractère retour-ligne/retour-chariot.&nbsp;
</p>
<p>
Si l'une des lignes originales, délimité par un retour-ligne ou chariot, est longue, c'est-à-dire plus de 120 caractères, on suppose que c'est un paragraphe d'un seul tenant, et on ajoute un interligne avant et après.&nbsp;
Ainsi un paragraphe découpé contenant 20 phrases n'est pas fusionné au prochain paragraphe démonté contenant 18 phrases supplémentaires.&nbsp;
Une ligne vide sépare les deux paragraphes.&nbsp;
Ceci est seulement applicable si « bl » est appliqué à un ensemble de lignes, ou le document entier.&nbsp;
</p>
<p>
Ne pas appliquer la commande « bl » à une section préformatée, telle qu'une table ou de l'ASCII art.&nbsp;
Si vous n'êtes pas sûr du résultat, ne sauvegardez pas le fichier, parcourez-le, et appliquez « bl » aux seules lignes de texte.&nbsp;
Souvent c'est le document entier (,bl).&nbsp;
Les commandes suivantes font un très bon travail de nettoyage d'un document typique de Microsoft Word.&nbsp;
</p>
<pre><font face="Arial,Helvetica,sans-serif" size="3">e fichier.doc ou fichier.wps
# changez le nom de fichier, pour ne pas écraser l'original
f _
,s[~80-~ff~00-~0c~0e-~1f]//g # supprime les codes de formatage ou de contrôle
g/^\s*$/d # lignes vides contenant habituellement des codes non ASCII
bl, séparer les lignes et paragraphes
1,20p # souvent des lignes inutiles, mais ensuite le texte commence.&nbsp;
</font></pre>

<p>
Naturellement le programme « catdoc » fait un meilleur travail de conversion des documents Word.&nbsp;
Il est souvent couplé avec « xls2cvs ».&nbsp;
Ces programmes sont un must pour les personnes qui veulent un environnement en ligne de commande.&nbsp;
</p>

<h3 align="center"> <a name="race"> Comportement </a> </h3>

Supposez que vous sauvegardiez un fichier, edbrowse tronque le fichier existant, puis l'ordinateur plante avant que edbrowse puisse écrire les nouvelles données.&nbsp;
Quand vous rallumez l'ordinateur, votre fichier est vide, zéro octets, et tout votre travail est perdu.&nbsp;
<p>
C'est une fenêtre étroite : l'ordinateur plante précisément à la milliseconde où il ne faut pas.&nbsp;
Pour se garder de cette improbable calamité, quelques éditeurs écrivent vos données dans un fichier temporaire, effacent l'original, et renomment le fichier temporaire sous son vrai nom.&nbsp;
De cette façon vos données ne peuvent être perdues.&nbsp;
Le nouveau ou l'ancien fichier survivra.&nbsp;
</p>
<p>
Alors les liens sont apparus, les liens durs, et puis les liens symboliques.&nbsp;
Les auteurs de Ed, et d'autres éditeurs, ont dû se débrouiller.&nbsp;
Vous ne pouvez pas enlever le lien, écrire un fichier temporaire, et remplacer le lien par le fichier temporaire.&nbsp;
Ce n'est plus un lien, c'est un fichier régulier, et votre système de fichiers n'est pas prévu pour cela.&nbsp;
Le vrai fichier, pointé par le lien (symbolique), n'a pas été modifié du tout.&nbsp;
Ce n'est pas ce ce que vous vouliez ! Ainsi on a récrit ces éditeurs pour neutraliser ce dispositif si le fichier appelé est un lien vers un autre fichier.&nbsp;
Ils ont dû retourner de nouveau au vieux paradigme troncature/réécriture, espérant que rien de mauvais ne se produira dans l'intervalle.&nbsp;
Et ça marche, le mauvais n'arrive jamais.&nbsp;
La fenêtre est trop étroite, tout simplement.&nbsp;
</p>
<p>
Dans cette optique, edbrowse ne s'encombre pas avec des fichiers temporaires.&nbsp;
Simplement, je ne me tracasse pas.&nbsp;
Je tronque le fichier et écris les données, et je ne m'attends à ce que rien ne tourne mal pendant la milliseconde critique.&nbsp;
</p>
<p>
Un autre comportement est plus subtil.&nbsp;
Supposer que vous éditez un fichier et votre ami, ou un programme système, édite le même fichier.&nbsp;
Vous avez réellement modifié votre fichier.&nbsp;
Quand vous allez sauvegarder vos changements, ils écraseront tous les changements faits par votre ami, ou l'utilitaire système.&nbsp;
La plupart des éditeurs de texte se gardent de ceci en observant l'heure. Quand vous commencez à éditer le fichier « foo », l'éditeur mémorise l'heure.&nbsp;
puis, quand vous êtes prêt à sauvegarder vos changements, il vérifie l'heure, et si « foo » a été mis à jour dans l'intervalle, il vous avertit.&nbsp;
Le « fichier a été mis à jour par quelqu'un d'autre – voulez-vous l'enregistrer ? »
</p>
<p>
C'est un bon dispositif, mais edbrowse ne l'a pas, simplement parce que je n'ai pas jugé bon de l'implémenter.&nbsp;
Je suis le seul utilisateur sur mon PC, et vous êtes probablement le seul utilisateur sur votre PC, aussi ce dispositif n'est pas très demandé.&nbsp;
Mais il est possible que je l'implémente un jour prochain.&nbsp;
</p>

<h3 align="center"> <a name="url"> Accès à une URL </a> </h3>

Au lieu de lancer « e nom de fichier », 
vous pouvez lancer « e http://this.that.com/file.html », et l'éditeur recherchera le fichier appelé en utilisant le protocole HTTP.&nbsp;
Le source (c'est-à-dire l'HTML brut) est disponible pour édition.&nbsp;
Vous pouvez le modifier et le sauver sur votre machine locale.&nbsp;
Puisque le texte est importé d'une autre machine, il ne peut pas être sauvegardé sur cette machine, par conséquent la commande « w » ne fonctionnera pas.&nbsp;
Vous devrez indiquer un fichier local « w monfichier.html », ou une session d'édition différente « w3 ».&nbsp;
<p>
Noter que ceci n'est pas de la navigation Internet, nous recherchons simplement le texte sur une autre machine et l'éditons localement.&nbsp;
Le texte n'a pas besoin d'être du HTML, il pourrait être (par exemple) un document ASCII.&nbsp;
Beaucoup de gens, moi-même inclus, ont mis divers types de fichiers, même exécutables, sur leurs sites Web pour téléchargement.&nbsp;
Naturellement vous ne pourrez pas éditer un fichier binaire, mais vous pouvez encore employer edbrowse pour rechercher le fichier et le sauvegarder localement, mettant en application un téléchargement HTTP.&nbsp;
</p>
<p>
A l'intérieur de l'éditeur, vous pouvez taper « e URL», abandonner le tampon courant et rechercher le texte d'une machine distante.&nbsp;
Ou vous pouvez taper « r URL » pour rechercher le texte à distance et l'ajouter à le tampon courant.&nbsp;
Il n'y a aucune commande « w URL », parce que le protocole de HTTP ne vous permet pas « d'écrire» du HTML sur une machine distante.&nbsp;
</p>
<p>
Pour simplifier, n'importe quel nom de fichier avec deux ou plusieurs points incorporés et un suffixe standard (tel que .com ou .net) est traité comme une URL.&nbsp;
Vous pouvez habituellement omettre le préfixe de http://.&nbsp;
Par exemple, essayez d'appeler « e www.space.com ».&nbsp;
Mais encore une fois, vous regardez le source HTML, ce qui n'est probablement pas ce que vous voulez.&nbsp;
La navigation sera examinée plus loin.&nbsp;
</p>
<p>
Chaque fois que vous récupérez des données d'une URL, l'éditeur, contrôlé par le protocole HTTP, peut changer le nom du fichier appelé.&nbsp;
C'est parce que la ressource s'est déplacée, et l'ordinateur original était assez aimable pour donner la nouvelle adresse.&nbsp;
Si le niveau de déboguage est placé à 2 ou plus, vous pourriez voir une série de trois ou de quatre URLs différentes pendant que l'éditeur est réorienté à travers l'Internet.&nbsp;
Enfin il récupère votre document, et le nom de fichier courant contient l'URL correct (le dernier).&nbsp;
Vous pouvez mettre à jour votre fichier de signets en conséquence.&nbsp;
D'un autre côté, vous ne devriez pas.&nbsp;
Parfois l'URL initial est l'endroit « public » de la page Web, et les redirections suivantes se produisent à l'intérieur de la compagnie.&nbsp;
Dans ce cas, il faudra garder l'URL public original, qui fonctionnera toujours, même si la compagnie déplace son serveur Internet.&nbsp;
Jugez-en par vous-même.&nbsp;
</p>

<h3 align="center"> <a name="browse"> Mode navigation </a> </h3>

Si l'éditeur contient du HTML, de n'importe quelle origine, vous pouvez taper « b » pour activer le mode navigation.&nbsp;
La commande sera refusée s'il n'y a pas dans le tampon les tags communs HTML, ou si l'éditeur est déjà dans le mode navigation.&nbsp;
Vous pouvez forcer la navigation en ajoutant &lt;html&gt; au début du tampon, ou n'importe quelle autre tag identifiable – edbrowse essayera toujours de convertir un tel fichier.&nbsp;
Maintenant le texte transformé est lisible, sans tags HTML.&nbsp;
En d'autres termes, le &lt;P&gt; a été transformé en coupure de paragraphe,
&lt;OL&gt; est devenu une liste numérotée, et ainsi de suite.&nbsp;
Le nom de fichier est également modifié ; le suffixe « .browse » a été ajouté.&nbsp;
Si vous sauvegardez les données transformées, délibérément ou accidentellement, le texte restructuré sera archivé dans un nouveau fichier, quelquechose.html.browse, sans toucher au fichier HTML original.&nbsp;
Ceci vous protège si vous développez vos propres pages Web.&nbsp;
Je crois que les personnes aveugles devraient écrire du HTML brut, plutôt que d'utiliser un outil de développement « wysiwig » Web tel que Front Page.&nbsp;
En fait j'écris tous mes documents en HTML, même les lettres commerciales courtes.&nbsp;
Je peux créer les titres, listes, tables, etc.&nbsp;
, sans employer un éditeur d'impression conforme à la visualisation ou un lecteur d'écran.&nbsp;
Cet <a href="http://www.htmlcodetutorial.com/">excellent tutoriel</a> vous aidera à démarrer.

<p>
Durant la conversion vers le mode de navigation, le système vérifie les erreurs communes de syntaxe, telles qu'une liste numérotée non fermée.&nbsp;
Si le nom de fichier est une URL, ces erreurs de syntaxe ne sont pas affichées.&nbsp;
Après tout, ce n'est pas votre page Web, et il n'y a rien que vous pouvez faire à son sujet.&nbsp;
Cependant, si la page Web est à vous, comme indiqué par un nom de fichier local, la première erreur de syntaxe est affichée, d'où vous pouvez retourner à la source HTML et la corriger.&nbsp;
Tapez « ub » pour désactiver le mode navigation.&nbsp;
Vous revenez au texte brut HTML sous son nom de fichier original.&nbsp;
Maintenant vous pouvez corriger l'erreur et de nouveau essayer la commande « b » Pour vous faciliter la tâche, l'étiquette « 'e » est placée à la ligne contenant l'erreur.&nbsp;
Répétez ce processus jusqu'à ce que « b » fonctionne sans erreurs.&nbsp;
</p>
<p>
Si vous essayez de quitter, et que l'éditeur vous dit « w attendu », rappelez-vous que vous devez revenir dans l'éditeur HTML brut avant de lancer la commande de sauvegarde.&nbsp;
Vous pourriez modifier le texte dans lequel vous naviguez sous le nom fichier.browse, pour satisfaire au critère de sauvegarde, mais ce n'est pas vraiment ce que vous voulez.&nbsp;
Vous avez corrigé des erreurs dans le source HTML, et c'est ce source que vous devez sauver, aussi souvenez-vous de sortir du mode navigation avant de sauvegarder le fichier.&nbsp;
</p>
<p>
Notez que vous pouvez sortir du mode navigation même s'il n'y a pas d'erreur.&nbsp;
Si, par exemple, vous consultez une page correctement construite sur un autre site Web, et voulez lire ou sauvegarder le HTML brut, tapez simplement « ub ».&nbsp;
A titre d'exercice, appelez « e www.space.com », et employez les commandes « b » et « ub » pour commuter entre le HTML brut et la page navigable.&nbsp;
</p>
<p>
La mise en page dans le mode navigation est relativement simple, parce qu'une personne aveugle ne veut pas la complexité.&nbsp;
Nous ignorons les polices, les italiques etc.
, et si jamais ce type d'information nous intéresse, la meilleure façon de l'obtenir est de lire le code HTML brut.&nbsp;
Ainsi la plupart des tags sont ignorés, à l'exception des en-têtes, paragraphes, et listes.&nbsp;
</p>
<p>
Je n'indente pas les sous-sections ou les items de liste.&nbsp;
Nous perdons l'effet visuel, et parfois les espaces supplémentaires disparaissent.&nbsp;
</p>
<p>
Puisque la ligne physique est, pour nous, l'unité de base, c'est-à-dire la construction atomique modifiable, déplaçable ou copiable, les lignes sont tronquées à environ 80 caractères, habituellement en fin de phrase ou d'expression.&nbsp;
Ainsi la lecture ligne par ligne se fait souvent selon l'ordre des phrases.&nbsp;
Pour moi, c'est la manière optimale de regarder ou éditer un document -- tout document.&nbsp;
Si vous lisez la version brute de ce manuel, sans naviguer dans le fichier, vous verrez ce que je veux dire.&nbsp;
Revoyez la commande de coupure de ligne ci-dessus.&nbsp;
</p>
<p>
La disposition d'une section préformatée, &lt;pre&gt;, est conservée, bien que des ordres des interlignes soient comprimés vers le bas à un interligne, et le whitespace à la fin des lignes est dépouillé.&nbsp;
Ceci préserve la structure des adresses de rue, et d'autres blocs préformatés.&nbsp;
</p>
<p>
Les tables sont formatées comme une exportation ASCII d'un tableur ou d'une base de données SQL.&nbsp;
Le caractère « pipe » (barre verticale) sépare les champs sur chaque ligne.&nbsp;
Il n'y a pas d'espaces autour des pipes, et les champs d'une ligne donnée ne seront probablement pas alignés avec les champs de la ligne suivante.&nbsp;
Ce n'est pas joli, mais un utilisateur aveugle ne peut pas vraiment parcourir en une colonne de bas en haut de toute façon, particulièrement en utilisant un éditeur ligne de ce type.&nbsp;
Il vaut mieux sauvegarder la table dans un fichier local et utiliser les instructions d'extraction, de tri, de fusion etc.&nbsp;
Voici un exemple de table.&nbsp;
</p>
<pre><font face="Arial,Helvetica,sans-serif" size="3">numéro de pièce|quantité|prix
2635|2|34.80
1398|1|67.50
8118|5|125.00
</font></pre>

<p>
Les champs vides en fin de ligne sont ignorés.&nbsp;
Ce sont presque toujours des images -- parfois une ligne entière d'images -- parfois une table entière d'images.&nbsp;
L'utilisateur aveugle n'a pas besoin de lire les champs vides.&nbsp;
</p>
<p>
Notez que le fichier navigable est en lecture seule.&nbsp;
Après tout, ce n'est pas le « source » -- pourquoi devriez-vous l'éditer ? Il y a des moyens de remplir et éditer les zones de saisie d'un formulaire, qui seront vus plus tard.&nbsp;
En attendant, considérez le texte comme non modifiable.&nbsp;
Le lancement d'une commande de copie, d'insertion ou de remplacement, générera une erreur.&nbsp;
</p>
<p>
Si vous voulez éditer le texte, comme texte brut, tapez « et » (éditer comme texte).&nbsp;
Vous ne pourrez plus revenir à la page HTML d'origine.&nbsp;
Ni suivre un lien hypertexte ou remplir un formulaire.&nbsp;
Le texte navigable est devenu un texte plat, sans la sémantique d'Internet.&nbsp;
</p>
<p>
La commande « b fichier.html » est un raccourci pour « e fichier.html », suivi de « b ».&nbsp;
Se rappeler que la commande « ub » sort du mode navigation, et revient au texte original HTML, comme si vous seul aviez tapé « e file.html ».&nbsp;
</p>
<p>
Si une URL est appelée à partir de la ligne de commande, comme dans « e www.google.com », on passe automatiquement en mode navigation.&nbsp;
Tapez « ub » pour revenir au code HTML brut.&nbsp;
</p>

<h3 align="center"> <a name="math"> Technique, maths </a> </h3>

La plupart des personnes ne lisent jamais les pages Web techniques, mais si cela vous arrive…
<p>
Un indice inférieur, repéré par un tag HTML, est mis entre crochets.&nbsp;
Ainsi x&lt;sub&gt;n&lt;/sub&gt; devient x[n].&nbsp;
Ainsi x indice 1 est affiché, comme votre professeur le dirait.&nbsp;
Ce n'est pas ambigu, comme vous pourriez d'abord penser ; seuls les programmeurs emploient x1 comme nom de variable, pas les mathématiciens.&nbsp;
Si vous voyez x1 dans une formule, elle signifie l'indice 1 de x.&nbsp;
Même 17a3b3 n'est pas ambigu ; c'est une traduction de 17 fois a[3] fois b[3].&nbsp;
</p>
<p>
Les indices supérieurs sont mis entre parenthèses, précédés d'une flèche.&nbsp;
Les parenthèses sont ignorées si l'indice supérieur est un nombre.&nbsp;
Ainsi x au cube donne x^3, alors que x à la puissance n-1 donne x^ (n-1).&nbsp;
</p>
<p>
Il y a, c'est triste à dire, trois manières différentes de coder des symboles mathématiques en HTML.&nbsp;
Actuellement edbrowse n'en connaît qu'une seule, la plus commune, et la plus portable parmi tous les navigateurs.&nbsp;
C'est le système Unicode, où la lettre grecque thêta est affichée
&amp;#952;.&nbsp;
Internet Explorer transforme cette expression en &#952;,
un caractère sur l'écran, alors que edbrowse le transforme en mot « thêta ».&nbsp;
Nous mettons également les espaces autour du mot si ses voisins sont également des mots.&nbsp;
Ceci est illustré par le circonférence d'un cercle, qui est 2 fois pi fois r.&nbsp;
Ces trois termes sont habituellement accolés, sans confusion possible pour un voyant, où pi est une lettre grecque séparée.&nbsp;
Mais si pi est prononcé, avec les termes restant accolés, le résultat est 2pir.&nbsp;
Maintenant, « pir » ressemble à un mot de trois lettres.&nbsp;
Pour éviter ceci, edbrowse insère des espaces, ce qui donne 2 pi R.&nbsp;
</p>
<p>
Ces traductions sont conçues pour fonctionner avec les pages du 
<a href="http://www.mathreference.com/"> Math Reference Project</a>,
des archives de mathématiques avancées qui essaient simultanément d'être accessibles aux aveugles et voyants.&nbsp;
C'est peut-être impossible, mais c'est à essayer.&nbsp;
</p>

<h3 align="center"> <a name="title"> Titre, description, mots-clés </a> </h3>

En mode navigation, les commandes « ft », « fd » et « fk » affichent respectivement le titre, la description, et les mots-clés de la page Web courante.&nbsp;
Normalement, ces données sont cachées à l'utilisateur.&nbsp;
Le titre décrit la page Web en 80 caractères ou moins.&nbsp;
La description est une explication plus complète, affichée par un moteur de recherche tel que yahoo ou altavista.&nbsp;
L'utilisateur lit la description affichée par le moteur de recherche et décide alors de lire cette page Web.&nbsp;
Les mots-clés sont employés par des moteurs de recherche pour faciliter des recherches par mot-clé.&nbsp;
Comme le reste de la page, ces trois attributs sont non modifiables.&nbsp;
Si c'est votre page Web, vous pouvez les modifier en revenant au mode HTML brut.&nbsp;
Les concepteurs Web devraient prêter une attention particulière à la description et les mots-clés, qui rendent les pages accessibles par l'intermédiaire des moteurs de recherche standard.&nbsp;

<p>
Notez que « ft » affiche le titre de la page Web, tandis que « f t » (avec un espace) renomme le fichier courant en « t », ce qui n'est probablement pas ce que vous souhaitez.&nbsp;
</p>

<h3 align="center"> <a name="rf"> La commande de réaffichage </a> </h3>

Tapez « rf » pour réafficher la page courante.&nbsp;
Ceci relit le fichier ou l'URL dans le tampon courant.&nbsp;
Il ne provoque pas de nouvelle session d'édition sur la pile.&nbsp;
C'est analogue au bouton de réaffichage sur Netscape et Internet Explorer.&nbsp;

<p>
Si une page Web est mise à jour chaque minute, par exemple avec les derniers cours des actions de vos compagnies préférées, vous pouvez taper « rf » pour récupérer la dernière version de cette page Web.&nbsp;
Ceci suppose que les serveurs Internet ne mettent pas en cache la page Web et ne vous redonnent pas la même copie démodée à plusieurs reprises.&nbsp;
</p>
<p>
Sur votre machine locale, vous pouvez employer ce dispositif pour lire la dernière version d'un fichier dynamique, tel qu'un fichier de de log.&nbsp;
Ou vous pouvez relire un répertoire, pour lister les nouveaux fichiers qui ont été placés dans ce répertoire.&nbsp;
Par exemple, vous pourriez lancer un shell pour exécuter « cat x y >z », z n'apparaîtra pas dans votre listing du répertoire tant que vous n'aurez pas tapé « rf ».&nbsp;
</p>

<h3 align="center"> <a name="hlink"> Hyperliens </a> </h3>

Un lien vers une autre page Web est mis entre accolades, comme ceci :

<p>
{Des rapports récents} suggèrent un lien entre l'autisme et les bactéries intestinales.&nbsp;
</p>
<p>
En coulisses, « Des rapports récents » est lié à www.pecanbread.com/BTVCautismchapter.html, mais vous ne le voyez pas, à moins d'activer le lien ou d'afficher le code HTML.&nbsp;
</p><p>
Naturellement le texte navigable pourrait également contenir des mots entre accolades, particulièrement si la page Web est de nature technique.&nbsp;
Par conséquent, il y a une certaine ambiguïté.&nbsp;
Cependant, je crois que le contexte lève l'ambiguïté.&nbsp;
{Plus d'information} est probablement un lien, tandis que ${HOME}/.profile ne l'est probablement pas.&nbsp;
</p>
<p>
Certaines pages Web présentent une série d'icônes qui sont des liens vers d'autres pages.&nbsp;
C'est-à-dire, vous cliquez sur une icône, plutôt que sur une expression, pour aller ailleurs.&nbsp;
Ces icônes sont supposées être intuitives.&nbsp;
Parfois elles le sont -- parfois non.&nbsp;
De toute façon, elles sont inutilisables pour un aveugle.&nbsp;
Parfois le concepteur Web est assez aimable pour fournir un texte décrivant l'image.&nbsp;
Dans ce cas, l'expression est employée comme lien.&nbsp;
Elle est affichée entre accolades, comme s'il n'y avait pas d'image.&nbsp;
S'il n'y a pas d'expression alternative, on utilise le nom de la cible de l'hyperlien.&nbsp;
Ce nom peut être étonnamment utile, ou tout à fait inutile, comme dans « index.html ».&nbsp;
Si on ne peut déterminer un nom, le lien générique {image} est employé.&nbsp;
Dans ce cas, vous devrez aller à la page Web pour découvrir ce qu'il contient.&nbsp;
</p>
<p>
Pour suivre un lien, tapez la commande « g » (go).&nbsp;
Oui, « g » lance également une commande globale, telle qu'une recherche/remplacement globale, mais seulement s'il est suivi d'une expression régulière.&nbsp;
De lui-même, « g » suit le lien sur la ligne courante, « g2 » suit le deuxième lien sur la ligne courante, et « 4g » suit le lien sur la ligne 4.&nbsp;
Si un lien s'affiche sur plusieurs lignes, vous devez être sur la première ligne, celle qui contient l'accolade gauche.&nbsp;
</p>
<p>
La commande g peut également agir sur un lien affiché en mode texte brut, s'il « semble » être une URL valide.&nbsp;
Si un ami vous envoie une URL intéressante par mail, et que vous ayez sauvegardé ce mail, vous pouvez « aller » à ce lien, même si le fichier n'est pas en HTML, et même si vous n'avez pas activé le mode navigation.&nbsp;
</p>

<h3 align="center"> <a name="ilink"> Liens internes </a> </h3>

Bien que la plupart des liens mènent à d'autres pages Web, quelques liens pointent sur d'autres sections dans le document courant.&nbsp;
Cette fois encore, le contexte peut vous aider.&nbsp;
Les liens dans une table des matières sont habituellement des renvois aux chapitres dans le document courant.&nbsp;
Même chose pour les liens qui ressemblent à : « voir {annexe I} », ou « voir la section configuration de matériel} ».&nbsp;

<p>
La commande « g » suit un lien interne ou un lien externe.&nbsp;
Dans l'un et l'autre cas, vous vous trouverez dans un endroit différent.&nbsp;
Cependant, si le lien est interne, vous êtes toujours dans le même fichier.&nbsp;
En fait, la seule chose qui a changé est la ligne courante.&nbsp;
La nouvelle ligne est affichée, et devrait correspondre au lien que vous avez activé.&nbsp;
Souvent les mots sont identiques.&nbsp;
« Activer {annexe I} », et vous verrez probablement le titre « annexe I » de la section.&nbsp;
Tapez z10 pour lire les premières lignes de l'annexe.&nbsp;
</p>

<h3 align="center"> <a name="back"> La touche retour arrière </a> </h3>

Si vous éditez un nouveau fichier par l'intermédiaire des commandes « e », « b », ou « g », et que vous avez déjà du texte dans le tampon, ce texte est empilé sur une pile interne.&nbsp;
Vous pouvez « dépiler » le texte en par la commande « ^ ».&nbsp;
C'est supposé être intuitif -- la flèche haute se dirigeant à la page précédemment affichée à l'écran.&nbsp;
<p>
Ce dispositif semble plutôt idiot lorsqu'on est en mode édition, mais il se comprend en surfant sur l'internet.&nbsp;
Souvent nous descendons en suivant deux ou trois liens, pour finir par nous trouver à la fin.&nbsp;
« Je n'ai pas voulu aller ici.» En tapant la touche retour arrière à plusieurs reprises, nous reviendrons en territoire familier.&nbsp;
Nous pouvons maintenant partir dans une nouvelle direction.&nbsp;
La commande « ^3 » ou le « ^^^ » revient trois pages en arrière.&nbsp;
Ne pas employer ce dispositif itératif à moins que vous sachiez exactement où vous voulez revenir.&nbsp;
</p>
<p>
Notez que l'état entier d'une session d'édition est mémorisé et reproduit, y compris le nom de fichier, la dernière recherche/remplacement, les chaînes de substitution, les hyperliens et des formulaires le javascript compilé, tout !

</p><p>
À la différence de lynx, je ne mémorise pas l'historique des pages Web visitées.&nbsp;
Je n'ai jamais vraiment eu besoin de ce dispositif.&nbsp;
Dans 99% des cas, je veux simplement revenir en arrière d'une ou deux pages, voilà tout.&nbsp;
Malheureusement cette opération de haute voltige exige deux sauts périlleux et un flip arrière sous lynx.&nbsp;
Dans mon navigateur, il suffit de taper une touche.&nbsp;
</p>
<p>
La pile ne doit pas être confondue avec l'édition simultanée de plusieurs fichiers, décrite dans la première section.&nbsp;
En fait chaque session d'édition, e1 e2 e3…, a sa propre pile interne.&nbsp;
Les sessions simultanées sont appropriées quand vous devez se déplacer dans les deux sens entre deux fichiers, ou copier/coller entre eux.&nbsp;
Cependant, une session, avec sa pile interne, est habituellement suffisante pour surfer sur l'internet.&nbsp;
</p>
<p>
Si une commande de navigation échoue, vous donnant un tampon vide sans intérêt, on dépile automatiquement, en réaffichant la page Web précédente.&nbsp;
Maintenant vous pouvez réessayer le lien par « g », ou suivre un lien différent .&nbsp;
Noter qu'une commande de navigation peut échouer, et donner la cause de l'échec, si le serveur à distance est bien conçu.&nbsp;
Dans ce cas, vous pouvez avoir le message d'erreur « fichier non trouvé » et vous trouver sur une nouvelle page Web, laquelle explique le problème.&nbsp;
Après avoir lu l'explication, suivre ses indications, ou tapez « ^ » pour revenir et essayer de nouveau.&nbsp;
</p>
<p>
Si un nombre est affiché, même égal à 0, le texte précédent a été mis sur la pile, et vous êtes dans un nouveau fichier.&nbsp;
Le nombre affiché est la taille du nouveau fichier.&nbsp;
Employer la commande « ^ » pour revenir en arrière.&nbsp;
S'il n'y a pas de nombre, simplement un message d'erreur, alors edbrowse n'a pas créé de nouveau tampon.&nbsp;
Il n'a pas obtenu le texte recherché.&nbsp;
Taper «.» remettra la ligne affichée auparavant.&nbsp;
</p>
<p>
Suivre un lien interne à une autre section dans le document courant ne pousse rien sur la pile.&nbsp;
En d'autres termes, « ^ » ne vous renverra pas où vous étiez.&nbsp;
En fait, il vous renverra à la page Web précédente, ce qui n'est pas ce que vous vouliez.&nbsp;
Si vous voulez jeter un coup d'oeil à l'annexe I, puis revenir, marquer la position actuelle avec « kr ».&nbsp;
Après avoir visité l'annexe, employer l'étiquette « 'r » pour revenir où vous étiez dans le fichier.&nbsp;
</p>

<h3 align="center"> <a name="move"> La commande M </a> </h3>

Si vous voulez lire et/ou agir simultanément sur plusieurs pages Web en parallèle, lesquelles sont normalement placées sur la pile, vous pouvez les déplacer une à une dans une autre session en utilisant la commande « M » majuscule.&nbsp;
Les étiquettes et les liens sont transférés également.&nbsp;
Une fois que la page Web a été transférée sur une autre session, edbrowse lance automatiquement la commande « ^ ».&nbsp;
Vous êtes de nouveau à la page précédente.&nbsp;

<p>
Il est généralement peu sûr de faire une copie d'une page Web courante, avec ses objets Javascript etc.&nbsp;
, aussi la commande M déplace la page et la met à l'écart, puis vous renvoie la page précédente.&nbsp;
Notez, cette commande fonctionne aussi bien avec des fichiers.&nbsp;
</p>
<p>
Supposons qu'une page Web affiche
</p>
<p>
{avions}
<br>
{trains}
<br>
{automobiles}
</p>
<p>
Si les trois rubriques vous intéressent, tapez ces commandes dans l'ordre :
</p>
<pre><font face="Arial,Helvetica,sans-serif" size="3">1g
M2
2g
M3
3g
M4
</font></pre>

<p>
Maintenant les sessions 2 3 et 4 sont les sous-pages traitant respectivement des avions, trains et automobiles.&nbsp;
Vous pouvez remplir des formulaires ou suivre des hyperliens dans n'importe laquelle d'entre elles, ou rester en session 1 et faire autre chose.&nbsp;
</p>

<h3 align="center"> <a name="music"> Musique de fond </a> </h3>

Si vous essayez d'écouter un synthétiseur de parole, la dernière chose dont vous avez besoin est une musique de fond.&nbsp;
Au lieu de jouer la chanson, je la rends disponible par un hyperlien.&nbsp;
<p>
{Background Music}
</p>
<p>
Ce lien apparaît toujours en début de page ou près du début.&nbsp;
Cliquez sur ce lien et téléchargez le fichier wav ou mp3, pour le jouer à votre convenance.&nbsp;
Employez la commande « pb ».&nbsp;
Normalement, « pb » prend le nom du fichier pour reconnaître le format audio.&nbsp;
Si le nom de fichier finit par .wav, c'est un fichier son.&nbsp;
Si le nom de fichier n'est pas particulièrement parlant, et que vous connaissez son format audio, vous pouvez le spécifier en tapant « pb.wav » pour un fichier de wav, « pb.mp3 » pour un fichier mp3, et ainsi de suite.&nbsp;
</p>
<p>
Le fichier de configuration (décrit ci-dessous) inclut le type des descripteurs de fichiers, qui indique à edbrowse comment jouer les fichiers wav, mp3, etc.&nbsp;
Ceux-ci doivent être renseignés, sans quoi la commande « pb » ne fonctionnera pas.&nbsp;
Elle affichera quelque chose comme « je ne sais pas traiter un fichier mp3 ».&nbsp;
C'est conforme à d'autres navigateurs, qui emploient des extensions pour jouer les fichiers son.&nbsp;
</p>

<h3 align="center"> <a name="input"> Zones de saisie </a> </h3>

Les zones de saisie d'un formulaire sont habituellement indiqués par les signes « < » et « > ».&nbsp;
Par exemple, un moteur de recherche pourrait présenter le formulaire suivant :
<pre><font face="Arial,Helvetica,sans-serif" size="3">Mots-clés : &lt;&gt;
Recherche avançée : &lt;-&gt;
Langue : &lt;en&gt;
Rechercher maintenant : &lt;GO&gt;
Effacer : &lt;RESET&gt;
</font></pre>

<p>
La première ligne de cet exemple de formulaire est une zone de texte, initialement vide.&nbsp;
Vous y entrez les mots-clés recherchés.&nbsp;
Écrire et éditer des zones de saisie sera discuté plus tard.&nbsp;
</p>
<p>
La deuxième ligne est un bouton radio.&nbsp;
Ce champ indique au moteur de recherche qu'il faut employer des dispositifs booléens avancés, comme ce mot-clé et ceci, ou cela, mais pas ceci, etc.&nbsp;
Le bouton est inactif, indiqué par -.&nbsp;
(La plupart des personnes ne savent pas employer la recherche avancée de toute façon).&nbsp;
Un + signifie que le bouton est activé.&nbsp;
</p>
<p>
La troisième ligne détermine la langue des mots-clés, anglaise par défaut.&nbsp;
Ce n'est pas une zone de texte à remplir, vous ne pouvez y entrer n'importe quoi.&nbsp;
Nous décrirons comment regarder les options plus tard.&nbsp;
</p>
<p>
La quatrième ligne est le bouton de soumission, qui envoie le formulaire au moteur de recherche et renvoie les résultats.&nbsp;
Ce « champ » ne peut pas être édité ; c'est simplement un bouton à pousser.&nbsp;
</p>
<p>
La cinquième ligne est également un bouton à pousser.&nbsp;
Il efface toutes les données que vous avez saisies, pour recommencer une recherche.&nbsp;
Les valeurs par défaut seront reconstituées.&nbsp;
Ainsi la troisième ligne va de nouveau à &lt;en&gt;, plutôt qu'à <>.&nbsp;
</p>

<h3 align="center"> <a name="entry"> Saisie de données </a> </h3>

Compléter un formulaire est relativement facile, une fois que vous connaissez la commande (surchargée) « i ».&nbsp;
Oui, « i » par lui-même est la commande d'insertion de texte, mais dans le mode navigation, « i » se rapporte aux zones de saisie.&nbsp;
<p>
S'il y a une seule zone de saisie sur la ligne courante, « i? » donne des informations sur cette zone de saisie.&nbsp;
Si la ligne contient plusieurs zones de saisie, vous devrez employer un nombre, comme « i3? » pour le troisième champ.&nbsp;
Le type de zone de saisie est affiché, puis sa taille, puis le nom de la zone.&nbsp;
Si la zone de saisie est un choix multiple, la liste des choix possibles est affichée, avec leur numéro d'ordre au début.&nbsp;
Pour choisir une option, vous pouvez soit taper les premières lettres comme « mich » pour le Michigan, soit taper son numéro.&nbsp;
Inutile de le dire, la deuxième solution est souvent plus facile.&nbsp;
Rappelez-vous le formulaire exemple dans la section précédente.&nbsp;
Si vous tapez « i? » au troisième champ, vous pourriez voir ce qui suit 
</p>
<pre><font face="Arial,Helvetica,sans-serif" size="3">choisir[7] la langue
1: anglais
2: français
3: allemand
4: italien
5: espagnol
</font></pre>

<p>
Si une liste contient des centaines d'options, tapez « i?chaîne » pour voir les options qui contiennent la chaîne indiquée.&nbsp;
Tapez « i?ma » dans une zone de saisie des départements et vous obtiendrez la Marne, la Manche, la Mayenne etc.&nbsp;
Alors vous pourrez choisir l'option que vous voulez par son nom ou son numéro.&nbsp;
</p>
<p>
Maintenant un peu de saisie de données.&nbsp;
Tapez « i=xyz » pour entrer « xyz » dans la zone de saisie.&nbsp;
Rappelez-vous, vous devez taper « i3=xyz » pour mettre l'information dans la troisième zone de saisie sur la ligne courante.&nbsp;
Si vous obtenez une erreur, c'est probablement parce que le champ a un ensemble fixe d'options, et vous n'avez pas sélectionné une de ces options.&nbsp;
Vous pouvez saisir une des options ou son numéro.&nbsp;
Vous pouvez également saisir un fragment du texte de l'option désirée, et edbrowse complétera le reste.&nbsp;
C'est possible à chaque fois qu'une et seulement une option contient une copie (insensible à la casse) de la chaîne que vous avez tapée.&nbsp;
Ainsi vous pourriez dans l'exemple ci-dessus taper « tali » et obtenir l'italien, puisque c'est la seule option contenant ces quatre lettres.&nbsp;
C'est utile quand on vous demande votre adresse, et votre pays.&nbsp;
Saisir suffisamment de lettres de votre pays, et vous tomberez probablement sur l'option correcte dans la liste.&nbsp;
Noter le paradigme ici : les personnes aveugles ne veulent pas patauger dans un menu à moins d'y être absolument obligées !
</p>
<p>
Il y a une certaine ambiguïté quand l'option est elle-même un nombre.&nbsp;
Dans ce cas-ci j'exécute trois comparaisons.&nbsp;
Si vous saisissez le nombre exact, cette option est choisie.&nbsp;
Si le nombre que vous avez tapé n'est pas une des options, il est traité comme numéro d'une entrée de menu.&nbsp;
Si ce n'est pas un numéro valide du menu (par exemple hors de la gamme), je fais une comparaison partielle avec les options, recherchant ces chiffres comme sous-chaîne.&nbsp;
Ceci peut sembler confus, mais c'est habituellement ce que vous voulez obtenir.&nbsp;
</p>
<p>
Vous pouvez employer i&lt;7 pour amener le contenu de la session 7 dans la zone de saisie courante.&nbsp;
La session 7 doit avoir une ligne de texte.&nbsp;
De même, « i&lt;nom de fichier » lit le contenu du fichier dans la zone de saisie courante.&nbsp;
Ici aussi, le fichier doit contenir une ligne de texte.&nbsp;
Le nom de fichier est expansé de la manière habituelle.&nbsp;
Ceci inclut l'expansion de caractères « joker », tant que l'expansion mène à un et seulement à un fichier.&nbsp;
Mettre suffisamment de caractères autour du « * » pour indiquer un fichier unique.&nbsp;
</p>
<p>
Supposez maintenant que vous tapiez votre numéro de carte bancaire, chacun des 16 chiffres, dans la zone de saisie de texte.&nbsp;
Si vous avez fait une erreur, vous ne voulez pas recommencer à taper la chaîne entière.&nbsp;
Aucun problème -- employez la commande remplacement.&nbsp;
Vous pouvez le faire en tapant « i/x/y/ » ou « s/x/y/ » -- comme vous préférez.&nbsp;
Rappelez-vous, il vous faudra peut-être indiquer la zone de saisie, comme « s3/x/y/ ».&nbsp;
La syntaxe habituelle de substitution fonctionne.&nbsp;
Ne croyez pas à une excessive généralisation du suffixe « g » .&nbsp;
« s3/x/y/g » remplace chaque « x » par « y » dans la troisième zone de saisie, mais n'affecte pas les autres champs de la ligne courante.&nbsp;
</p>
<p>
Si le bouton de soumission est le troisième champ sur la ligne courante, vous pouvez l'activer par « i3* ».&nbsp;
Cependant, « i* » est suffisant lorsqu'il y a un bouton sur la ligne.&nbsp;
De même, vous pouvez remplir une zone de texte en tapant « i=kangourou », plutôt que « i1=kangourou », si le deuxième champ sur la ligne courante est un bouton de soumission.&nbsp;
Vous devez seulement indiquer un numéro de zone de saisie ou de champ quand il y a plusieurs zones de saisie de texte, ou plusieurs boutons, sur la ligne courante.&nbsp;
</p>
<h3 align="center"> <a name="textarea"> Zones de texte </a> </h3>

Quelques formulaires Internet vous permettent de taper quelque chose librement, du genre « écrivez svp vos commentaires ici ».&nbsp; Ceci se fait dans une fenêtre à l'écran, ayant un nombre fixe de lignes et de colonnes, bien que ce soit habituellement une contrainte artificielle.&nbsp;
L'utilisateur voyant peut généralement taper plus de lignes que la fenêtre peut contenir, et le texte défilera dans la fenêtre.&nbsp;
Par chance, l'utilisateur aveugle peut ignorer cette fenêtre artificielle et taper en toute liberté.&nbsp;
Comme d'habitude, la commande « i? » indique la taille qu'aurait cette fenêtre dans un navigateur visuel.&nbsp;
Vous verrez quelque chose comme « area [7x40] », qui indique une fenêtre de 7 lignes par 40 colonnes.&nbsp;

<p>
L'implémentation dans lynx des zones de texte est particulièrement hideuse.&nbsp;
Ce qui n'est pas étonnant, puisque lynx n'est pas un éditeur.&nbsp;
Vous pouvez corriger les fautes de frappe, mais vous ne pouvez pas réellement « éditer » le texte en cours.&nbsp;
Une fois tapée la touche entrée, cette ligne est terminée, et vous êtes sur la prochaine zone.&nbsp;
Vous ne pouvez pas déplacer des lignes ou insérer les lignes etc.&nbsp;
Vous ne pouvez pas non plus préparer vos commentaires à l'avance et les insérer dans la zone de texte à partir d'un fichier.&nbsp;
</p>
<p>
Dans edbrowse, la zone de texte est contrôlée à partir d'une autre session d'édition.&nbsp;
Ceci permet d'utiliser toutes les ressources de l'éditeur.&nbsp;
Vous pouvez déplacer du texte, faire des substitutions globales, ou insérer des commentaires à partir d'un fichier.&nbsp;
La session d'édition est choisie pour vous, et apparaît dans la zone de saisie.&nbsp;
Considérez le formulaire suivant :
</p>
<pre><font face="Arial,Helvetica,sans-serif" size="3">Donnez votre adresse email: &lt;&gt;
Tapez vos commentaires: &lt;buffer 2&gt;
</font></pre>

<p>
Dans cet exemple, la session 2 n'était pas active quand la navigation a commencé.&nbsp;
Le navigateur a assigné la session 2 spécifiquement pour ce champ d'entrée.&nbsp;
Tapez « e2 » pour aller à la session 2, préparer vos commentaires, et tapez « e1 » pour revenir au formulaire.&nbsp;
Sur la plupart des pages Web, les zones de texte sont initialement vides, donc le tampon 2 sera vide, mais ce n'est pas toujours le cas.&nbsp;
Vérifiez la présence d'un texte pré-existant avant de commencer à taper.&nbsp;
Un site web particulièrement arrogant pourrait pré-remplir la zone de texte avec : « J'aime votre site Web parce que :  ».&nbsp;
</p>
<p>
Quand vous enverrez le formulaire, comme on va le voir dans la prochaine section, le tampon 2 de texte, dans la deuxième session d'édition, remplacera les mots « bufffer 2 » dans la zone de saisie.&nbsp;
Ainsi vos commentaires soigneusement travaillés sont partis.&nbsp;
(Ceci ne signifie pas que quelqu'un vous écoutera).
</p>

<h3 align="center"> <a name="button"> Pousser le bouton </a> </h3>

Si la troisième zone de saisie sur la ligne courante est un bouton de validation ou d'annulation, vous pouvez l'enfoncer en tapant « i3* ».&nbsp;
Le bouton d'annulation réinitialise toutes les zones du formulaire, telles qu'elles étaient au premier chargement de la page web.&nbsp;

<p>
Le bouton de soumission envoie le formulaire au serveur à distance et attend une réponse.&nbsp;
C'est comme suivre un lien Internet, mais ici vous envoyez quelques données avec la demande.&nbsp;
Tapez « kangourou » dans un moteur de recherche et vous lirez bientôt une page Web au sujet des kangourous.&nbsp;
Comme avec n'importe quel autre lien, vous pouvez employer la touche retour arrière « ^ » pour revenir.&nbsp;
Dans ce cas, vous reviendrez au formulaire en ligne.&nbsp;
Vous pouvez modifier les données et soumettre de nouveau le formulaire, avec des questions sur un autre animal.&nbsp;
</p>
<p>
J'ai implémenté les méthodes «GET» et «POST», protocoles HTTP les plus communs, et elles semblent fonctionner pour la plupart des sites web.&nbsp;
</p>
<p>
Une fois que vous avez soumis votre formulaire, et vous regardez les résultats, vous pouvez remarquer quelques caractères étranges à la fin du nom de fichier.&nbsp;
Si vous avez recherché l'information sur des kangourous, le nom de fichier pourrait ressembler à : www.recherche.com?keywords=kangourou.&nbsp;
Le texte qui suit le point d'interrogation est une version codée des données du formulaire.&nbsp;
Qui devient une partie de l'URL virtuelle.&nbsp;
C'est réellement une bonne chose, comme nous le verrons dans la prochaine section.&nbsp;
</p>

<h3 align="center"> <a name="addr"> Adresses Web et Email </a> </h3>

La commande « A » majuscule montre les adresses Web sous les liens sur la ligne courante.&nbsp;
Chaque adresse sera entourée par les tags <a> et </a>, prête à être collée dans un fichier de signets, si c'est ce que vous souhaitez.&nbsp;
Ces adresses existent dans une nouvelle session ; la session précédente a été poussée sur la pile.&nbsp;
Ajoutez ces dernières à votre fichier de signets par « w+ $bookmarks », si vous avez renseigné la variable d'environnement $bookmarks.&nbsp;
Ils seront placés à la fin ; vous pouvez les déplacer dans le fichier plus tard, une fois « hors ligne ».&nbsp;
Pour les connectés en RTC, le temps de connexion est précieux, et ne devrait pas être perdu à réarranger des fichiers de signets.&nbsp;
En conclusion, employer la commande ^ pour retourner à la page Web que vous regardiez.&nbsp;
Voici à quoi elle pourrait ressembler :

<pre><font face="Arial,Helvetica,sans-serif" size="3">&lt; b this.that.com/whatever # navigation dans une page Web
&gt; 16834 # taille du code HTML brut
&gt; 7855 # taille du texte navigable
&lt; /kangourou/i # recherche de kangourou dans la page
&gt; cliquez ici pour {plus d'informations sur des kangourous}, ou {nous écrire}.&nbsp;
&lt; A # capture des URLs
&gt; 144 # taille des URLs
&lt; ,p # affichons-les
&gt; &lt;A HREF=www.kangaroo-info.com&gt;
&gt; plus d'informations sur des kangourous
&gt; &lt;/A&gt;
&gt; nous écrire:info@kangaroo.org
&lt; 4d # nous n'avons pas besoin de l'adresse mail
&lt; w+ $bookmarks # ajoute cette URL au fichier de signets
&gt; 336
&lt; ^ # retour à la navigation
&gt; cliquer ici pour {plus d'informations sur des kangourous}, ou {nous écrire}.&nbsp;
</font></pre>

<p>
Je suppose que je pourrais interroger la variable d'environnement $bookmarks moi-même, et ajouter l'URL à ce fichier automatiquement, mais comme cet exemple le montre, vous pourriez ne pas vouloir ajouter tous les liens.&nbsp;
En fait l'adresse électronique n'a rien à faire dans un fichier de signets.&nbsp;
En outre, vous pouvez vouloir changer la description du lien, bien que dans cet exemple la description soit assez raisonnable.&nbsp;
</p>
<p>
Alternativement, vous pourriez ignorer l'URL et conserver l'adresse électronique, pour l'ajouter à votre carnet d'adresses.&nbsp;
Là encore, vous voudrez changer l'expression générique « nous écrire » pour quelque chose de plus parlant, comme adresse-kangourou.&nbsp;
C'est un surnom, qu'il est possible d'utiliser pour envoyer du courrier à ce destinataire.&nbsp;
(Les sections suivantes décrivent l'utilisation de edbrowse en tant que client de courrier).&nbsp;
</p>
<p>
S'il n'y a aucun lien sur la ligne courante, ou si vous n'êtes pas dans le mode navigation, le nom de fichier courant est employé.&nbsp;
C'est utile quand vous voulez ajouter à votre fichier de signets l'adresse URL de la page courante, plutôt qu'un autre page pointée par un lien.&nbsp;
</p>
<p>
Si la page courante est le résultat d'un envoi de formulaire, le nom de fichier peut inclure vos zones de saisie après le point d'interrogation.&nbsp;
S'il le fait, c'est une fonctionnalité, pas une bogue.&nbsp;
Cette URL exacte, avec les données à la fin, peut être stockée comme signet et être activée à plusieurs reprises, comme si vous aviez complété le formulaire à chaque fois.&nbsp;
Chaque semaine, vous pouvez appeler cette URL virtuelle pour voir s'il y a de nouvelles informations sur des kangourous.&nbsp;
Un exemple plus pratique pourrait être un formulaire qui consulte la météo pour une certaine ville ou le cours des actions d'actions de compagnies.&nbsp;
Vous pouvez également écrire des scripts concis qui « rempliront » le formulaire virtuel, simplement en modifiant les données après le point d'interrogation.&nbsp;
Ceci fournit une commande simple pour consulter la météo de n'importe quelle ville ou le cours actuel de n'importe quelle action.&nbsp;
</p>
<p>
Si le formulaire emploie le POST, plutôt que la méthode GET, les mêmes données apparaîtront, mais le point d'interrogation est remplacé avec le caractère « contrôle a ».&nbsp;
Malheureusement ce caractère est invisible, et ceci est source de confusion.&nbsp;
Dans le doute, lister la ligne.&nbsp;
</p>
<p>
Un dernier avertissement au sujet des ajouts à votre fichier de signets.&nbsp;
Disons que vous avez lancé votre commande « A », et avez modifié un peu la description.&nbsp;
Maintenant le lien est correctement écrit, et vous voulez le sauvegarder.&nbsp;
Vous tapez accidentellement «w $bookmarks », oubliant le signe plus.&nbsp;
Au lieu d'ajouter le lien en fin de fichier, vous avez enregistré à la place de votre fichier de signets.&nbsp;
Des années des liens accumulés sont parties en fumée.&nbsp;
Pour éviter cet accident désastreux, créez une macro pour l'ajout à votre fichier de signets.&nbsp;
Je sais, nous n'avons pas encore parlé des macros définies par l'utilisateur, mais nous le ferons.&nbsp;
Et quand nous le ferons, vous devrez écrire une macro « ajout signet » le macro semblable à ceci :.
</p>
<pre><font face="Arial,Helvetica,sans-serif" size="3">function+bma {
 w+ $bookmarks
}
</font></pre>

<p>
Maintenant vous pouvez tapez &lt;bma pour ajouter un lien à vos favoris, sans vous soucier des fautes de frappe.&nbsp;
C'est plus court que « w+ $bookmarks » de toute façon.&nbsp;
Nous reviendrons sur ce sujet quand nous présenterons des macros, réellement des fonctions, qui sont définies dans votre fichier de configuration.&nbsp;
</p>

<h3 align="center"> <a name="cook"> Cookies </a> </h3>

Certains sites Web servent des «cookies», qu'on s'attend à ce que votre navigateur sauvegarde et récupère ensuite pour des échanges futurs.&nbsp;
En fait beaucoup de sites Web simplement ne fonctionnent pas sans support des cookies.&nbsp;
Par conséquent edbrowse accepte toujours les cookies.&nbsp;

<p>
Notez que seuls les cookies de modèle Netscape sont supportés.&nbsp;
Cependant, c'est la saveur la plus commune de cookies.&nbsp;
Elle satisfera probablement vos besoins.&nbsp;
</p>
<p>
Des cookies persistants sont stockés dans un fichier, habituellement $HOME/.cookies, et sont ainsi disponibles pour des sessions suivantes d'edbrowse.&nbsp;
Ces cookies sont employés pour stocker des informations à long terme sur vous, tel que votre nom d'utilisateur et mot de passe dans amazon.com.&nbsp;
Par conséquent votre fichier de cookies devrait être en mode 0600.&nbsp;
En fait le fichier est créé en mode 0600, pour votre propre protection.&nbsp;
</p>
<p>
Vous n'aurez pas probablement jamais besoin de regarder votre fichier de cookies, mais si c'est le cas, c'est du texte directement éditable.&nbsp;
</p>

<h3 align="center"> <a name="ssl"> Connexions sécurisées </a> </h3>

Edbrowse emploie la méthode la plus commune de chiffrement du trafic Web, HTTP SSL/TLS, plus connu sous le nom de HTTP sécurisé.&nbsp;
Les sites Web sous HTTP sécurisé ont une URL de la forme : https://secure.server.com.&nbsp;
Noter que le protocole est https:// plutôt que http://.&nbsp;
Le « s » supplémentaire représente «sécurisé».&nbsp;
Le trafic est chiffré, c'est-à-dire mathématiquement brouillé, et ne peut pas être intercepté par un tiers scélérat.&nbsp;

<p>
Edbrowse vérifiera les connexions SSL, si vous fournissez un fichier de certificats SSL.&nbsp;
C'est une mesure antispoofing (anti usurpation d'identité), de s'assurer qu'un intrus ne se fait pas passer pour votre banque, essayant de voler vos numéros et mots de passe de compte.&nbsp;
Vous pouvez télécharger un fichier de certificat <a href="ssl-certs">ici</a>,
mais je ne le maintiens pas toujours à jour.&nbsp;
Sur quelques distributions de Linux, vous pouvez lancer la commande `cd /etc/ssl/certs ; cat * &gt;../edbrowse-certs'
pour capturer les certificats SSL déjà enregistrés dans votre système linux.&nbsp;
Si vous n'avez pas ce fichier, ou si vous ne l'avez pas créé, ou si vous n'indiquez pas son emplacement dans votre fichier de configuration, vous ne pourrez pas vérifier les connexions sécurisées, et vous serez avertis en conséquence.&nbsp;
Quelques navigateurs n'ont pas ce dispositif, ce n'est donc pas la fin du monde, mais en général c'est une bonne idée de vérifier vos connexions sécurisées, à moins que le vérificateur vous empêche d'accéder à un site Web dont l'authenticité vous paraît certaine.&nbsp;
Dans ce cas vous pouvez taper « vs » pour stopper le dispositif.&nbsp;
C'est une commande à bascule ; tapez « vs » encore pour redémarrer le dispositif.&nbsp;
</p>
<p>
Ne jamais envoyer d'information sensible, telle que le numéro de sécurité sociale ou des numéros de carte bancaire, sur un canal peu sûr.&nbsp;
S'assurer que le formulaire utilise SSL.&nbsp;
Comment le savoir ? Le bouton de soumission aura le mot «secure» ajouté à son intitulé.&nbsp;
</p>
<p>
&lt;envoyez votre commande secure&gt;
</p>
<p>
C'est semblable au cadenas qu'Internet Explorer emploie pour dire que votre connexion est sécurisée, bien que mon système ne soit pas totalement infaillible.&nbsp;
Un site Web peut vous abuser en mettant le mot « secure » dans le texte de soumission.&nbsp;
</p>
<p>
Noter que les boutons génériques (sans compter le bouton de soumission) peuvent également soumettre votre formulaire, par Javascript.&nbsp;
Je ne sais pas si ce bouton envoie le formulaire ou non, et je ne veux donc pas mettre le mot «secure» sur chaque bouton de la page.&nbsp;
Je l'ajoute seulement au bouton de soumission, mais si ce bouton est sécurisé, ils le sont tous.&nbsp;
Tous emploient la même formulaire, et ont la même URL.&nbsp;
</p>
<p>
En théorie, Javascript peut changer l'URL à la dernière minute, sans vous avertir, de https://ceci_est_securise.com à http://ceci_nest_pas_securise.com.&nbsp;
Je ne sais pas si d'autres navigateurs surveillent ce genre de piège, mais edbrowse le fait.&nbsp;
Si l'URL originale était sécurisée, et vous le savez par l'intermédiaire du « secure » dans le bouton de soumission, et si Javascript la change en connexion non sécurisée, edbrowse ne soumettra pas le formulaire.&nbsp;
C'est vraiment paranoïaque, parce que le premier site Web, celui qui a demandé votre numéro de carte bancaire, fournit également le Javascript, et n'a aucun intérêt à désactiver la sécurité, puisque vous allez leur remettre votre numéro de carte bancaire de toute façon.&nbsp;
</p>
<p>
Si vous avez des comptes sur des serveurs sécurisés, tels que PayPal.&nbsp;
com, vous devez avoir un mot de passe absolument sûr.&nbsp;
Ne jamais envoyer ce mot de passe sur une connexion peu sûre.&nbsp;
Il a la même valeur que  vos numéros de cartes bancaires.&nbsp;
J'ai un mot de passe spécial que j'emploie pour mes connexions sécurisées, et seulement pour ces connexions.&nbsp;
Et des mots de passe jetables quand la connexion n'est pas sécurisée.&nbsp;
</p>
<p>
S'il vous plaît, ne tombez pas dans le piège du « phishing » d'emails qui vous indiquent que votre compte a expiré, mais qui vous ouvre pour cette fois encore une session en utilisant ce formulaire commode.&nbsp;
Le courrier semble légitime, et le formulaire envoie réellement votre mot de passe secret à un voleur, qui aura accès à votre compte.&nbsp;
Une compagnie réputée ne demandera jamais, jamais, jamais de vous connecter par une formulaire email.&nbsp;
Elle vous indiquera toujours de revenir à son  site Web et de vous y connecter.&nbsp;
</p>
<p>
La sécurité d'Internet est complexe, c'est le moins qu'on puisse dire, et dépasse la portée de ce document.&nbsp;
Si vous avez des questions à son sujet, svp me les envoyer directement.&nbsp;
En règle générale, le HTTP sécurisé est vraiment tout à fait sûr, et vous pouvez l'utiliser pour envoyer des informations sensibles à travers l'internet.&nbsp;
Il est probablement plus sûr que de donner votre numéro de carte bancaire par téléphone, pratique courante avant l'e-commerce.&nbsp;
Ainsi il faut rester un peu paranoïnaque, en fait c'est probablement une bonne idée, mais que cela ne vous empêche pas d'effectuer vos achats en ligne.&nbsp;
</p>

<h3 align="center"> <a name="ftp"> Téléchargements FTP </a> </h3>

Ce navigateur supporte la récupération des fichiers et des répertoires en ftp.&nbsp;
Vous pouvez fournir un URL ftp comme : ftp://ftp.random.com/tarball.tar.gz et le fichier sera récupéré.&nbsp;
Que vous saisissiez l'URL vous-même, ou par un hyperlien sur une page Web, n'a pas d'importance.&nbsp;
Le fichier est récupéré, et sauvegardé dans un fichier local du même nom.&nbsp;
Vous verrez les mots :
<p>
ftp download
<br>
quelques chiffres sur la taille du fichier et les bits par seconde
<br>
success
</p>
<p>
Naturellement le téléchargement peut échouer, dans ce cas vous recevrez un message d'erreur.&nbsp;
S'il est simplement interrompu, pour quelque raison due à l'internet, vous pouvez relancer la commande, et edbrowse reprendra le téléchargement à l'endroit où il a été interrompu.&nbsp;
Ceci peut faire gagner du temps quand on télécharge un très gros fichier.&nbsp;
</p>
<p>
Par défaut, edbrowse emploie le nom d'utilisateur « anonymous » et le mot de passe « some-user@edbrowse.net » pour des connexions ftp.&nbsp;
Cependant, vous pouvez modifier ceci dans l'URL, et quelques pages Web tirent profit de ce dispositif.&nbsp;
Par exemple, disons que vous voulez accéder au fichier /etc/passwd sur une machine appelée quelque.part. Ce fichier n'est pas lisible par les utilisateurs anonymes.&nbsp;
Vous devez ouvrir une session en tant qu'utilisateur reconnu par la machine quelque.part.&nbsp;
Dans edbrowse, utilisez la commande :
</p>
<p>
e ftp://chris:xxx@quelque.part/etc/passwd
</p>
<p>
La connexion ftp sera établie sous le nom d'utilisateur « Chris », et avec le mot de passe « xxx ».&nbsp;
</p>
<p>
Certaines URLs ftp pointent sur des répertoires, pas des fichiers.&nbsp;
Si vous visitez une de ces URLs, et si c'est un serveur type Unix, vous recevrez la liste des fichiers du répertoire sous forme de page HTML avec des hyperliens.&nbsp;
Vous pourrez visiter les membres de ce répertoire comme si vous exploriez un site Web.&nbsp;
Si le serveur n'est pas de type Unix, vous recevrez le listing de répertoire en texte plat.&nbsp;
</p>
<p>
Le mode ftp, c'est-à-dire le modèle de connexion, peut être actif ou passif.&nbsp;
L'un fonctionne bien quand le client est derrière un routeur, et l'autre quand le serveur est derrière un routeur.&nbsp;
Vous pouvez indiquer le mode de ftp actif par la commande « fma », ou passif par « fmp ».&nbsp;
La commande « fmd » place le mode ftp par défaut, lequel essaie d'établir une connexion en mode passif d'abord, et puis en mode actif si besoin.&nbsp;
Ce comportement par défaut étant raisonnable, vous devriez probablement le laisser ainsi.&nbsp;
</p>
<p>
Edbrowse n'établit pas réellement les connexions ftp, il appelle en fait le programme « ncftpget » mme pour récupérer un fichier, et le programme « ncftpls » pour lister le répertoire.&nbsp;
Ces programmes sont distribués avec la plupart des systèmes Unix.&nbsp;
Si vous n'avez pas ces programmes, visitez svp <a href="http://www.ncftp.com/">ncftp.com</a>.
</p>
<p>
Une fois encore, passons en revue les différences.&nbsp;
HTTP met un fichier dans un tampon en mémoire, c'est-à-dire une session d'edbrowse, alors que ftp copie le fichier directement sur disque.&nbsp;
En outre, ftp n'affiche pas un point tous les 100K pour indiquer la progression du téléchargement, ainsi vous devez attendre qu'il ait terminé.&nbsp;
(Selon votre système d'exploitation, vous pouvez basculer sur une console virtuelle différente et vérifier la longueur du fichier local).
</p>

<h3 align="center"> <a name="proxy"> Serveurs proxy </a> </h3>

Un serveur proxy est un serveur web intercalé entre votre navigateur et les sites Web distants.&nbsp;
Il intercepte vos demandes de pages Web et les transmet au système distant.&nbsp;
Des serveurs proxy sont utilisés pour beaucoup de raisons.&nbsp;
Voici justes quelques-unes d'entre elles :

<ol>
<p></p>
<li>Efficacité.&nbsp;
Le serveur proxy peut pouvoir stocker des pages Web précédemment appelées (système connu sous le nom de cache).&nbsp;
Si votre connexion au proxy est plus rapide que votre connexion au reste du réseau, le cache vous envoie alors les pages Web précédemment appelées plus rapidement.&nbsp;
<p></p></li>
<li> Politiques.&nbsp;
Quelques administrateurs de pare-feu exigent d'employer un serveur proxy .&nbsp;
<p></p></li>
<li>Anonymat.&nbsp;
Il existe des serveurs appelés serveurs proxy d'anonymat qui cachent votre adresse IP aux sites Web que vous passez en revue.&nbsp;
</li>
</ol>

<p>
Si vous souhaitez employer un serveur proxy pour le trafic HTTP, activez simplement l'option proxy dans votre fichier de configuration.&nbsp;
Fournir le nom d'hôte et le port, séparés par des deux points.&nbsp;
 Par exemple :
</p>
<p>
proxy = proxy.campus.edu:3128
</p>
<p>
Notez que les proxy écoutent souvent sur des ports autres que le port 80.&nbsp;
« Squid » est un serveur proxy fourni avec quelques distributions Linux, et il emploie le port 3128 par défaut.&nbsp;
</p>
<p>
Actuellement, edbrowse supporte seulement le proxying HTTP standard.&nbsp;
HTTP et ftp sécurisés peuvent être « proxiés », mais cette fonctionnalité n'est pas mise en application.&nbsp;
</p>

<h3 align="center"> <a name="frame"> Cadres </a> </h3>

Les cadres sont un mécanisme par lequel une page Web puisse récupérer et afficher plusieurs autres pages Web sur l'écran simultanément.&nbsp;
Chaque sous-page s'appelle un cadre, et vit dans son propre espace sur l'écran.&nbsp;
Parfois les cadres sont en haut, au milieu et en bas ; parfois ils sont à gauche, au milieu et à droite.&nbsp;
Edbrowse présente ces cadres comme des hyperliens, que vous pouvez appeler alternativement, ou sauter directement à un cadre spécifique si vous connaissez le site Web.&nbsp;
Habituellement le cadre supérieur est un cadre de navigation, et le cadre inférieur contient des informations légales de déni/copyright : vous pouvez ainsi sauter ces derniers et poursuivre.&nbsp;
A de rares occasions, je l'ai vu une seule fois, vous devez ouvrir le cadre supérieur, que vous soyez intéressé ou pas, parce que le code HTML de cette page particulière place quelques cookies indispensables à la visite du site Web.&nbsp;

<p>
Une page de cadres pourrait ressembler à ceci.&nbsp;
 Je pense que vous pouvez deviner sur lequel cliquer.&nbsp;
</p>
<p>
Frame {navigation}
<br>
Frame {principal}
<br>
Frame {pied}
</p>
<p>
J'ai pensé à un dispositif de récupération de cadres qui chercherait tous les cadres et les présenterait en seul jet, tout comme elles sont affichées simultanément sur l'écran pour un utilisateur voyant, mais il est très difficile d'implémenter ce dispositif, et jusqu'ici, personne ne semble le vouloir.&nbsp;
Comme vous pouvez l'imaginer, il est tout en bas de la liste des choses à faire.&nbsp;
</p>

<h3 align="center"> <a name="pdf"> PDF </a> </h3>

PDF est un format portable de documents développé par <a href=http://www.adobe.com>adobe.com</a>.&nbsp;
Un document de ce format, désigné par le suffixe .pdf, sera toujours imprimé de la même façon sur n'importe quelle imprimante.&nbsp;
C'est son principal avantage.&nbsp;
Cependant, les documents pdf sont totalement illisibles par un non-voyant..&nbsp;
Heureusement, il existe un utilitaire,
<a href="http://rpmfind.net/linux/RPM/suse/updates/10.0/i386/rpm/i586/pdftohtml-0.36-130.9.i586.html">pdftohtml</a>,
qui convertit le pdf en html.&nbsp;
Parfois, il fonctionne très bien, et parfois les lignes sont coupées d'étrange façon;
mais c'est mieux que rien.&nbsp;
Si vous installez ce paquet, edbrowse convertira autmatiquement les fichiers pdf en fichiers html,&nbsp;
qu'il affichera ensuite comme du texte.
<p>
Notez qu'il existe également un convertisseur pdf en texte qui évite l'étape intermédiaire (html),&nbsp;
mais j'ai voulu garder les fonctionnalités des liens hypertextes parfois présents dans le pdf.&nbsp;
J'ai donc pensé qu'il vaut mieux passer par le html, malgré quelques complications suppléméntaires.
</p>

<h3 align="center"> <a name="js"> Introduction à Javascript </a> </h3>

Javascript est un logiciel, inclus dans la page Web, qui fonctionne sur votre ordinateur.&nbsp;
Ces fonctions ne sont pas lancées sur le serveur web, elles tournent sur votre ordinateur.&nbsp;
Par conséquent on l'appelle parfois Javascript côté client.&nbsp;
Et Javascript peut faire presque n'importe quoi.&nbsp;
Vous pourriez, par exemple, télécharger une page Web qui inclut une fonction de Javascript pour calculer les décimales de pi, directement sur votre ordinateur, bien que ce soit plutôt idiot.&nbsp;
La majeure partie de Javascript est employée pour valider et/ou modifier des formulaires, ou créer des effets visuels de fantaisie.&nbsp;
<p>
La première version de edbrowse, écrite en Perl, ignorait Javascript complètement, et cela a fonctionné un temps, mais de plus en plus sites internet emploient Javascript, et ces sites Web étaient simplement inaccessibles.&nbsp;
La plupart des emplacements d'e-commerce entrent dans cette catégorie.&nbsp;
Si vous voulez faire des achats, ou contrôler votre compte bancaire en ligne, vous aurez besoin d'un navigateur autorisant Javascript.&nbsp;
</p>
<p>
La deuxième version de edbrowse, écrite en C, et portant un numéro de version commençant par 2, incluait un compilateur et un moteur Javascript écrits par moi-même.&nbsp;
Cela fonctionnait plutôt bien, pour un projet réalisé pendant mon temps libre, mais Javascript évolue, comme n'importe quelle autre langue ou standard, et je ne pouvais plus suivre.&nbsp;
</p>
<p>
La troisième version, la « plus tardive et la plus grande », utilise un moteur Javascript de Mozilla.com, qui est Open Source sous la Licence Publique de Mozilla.&nbsp;
Ceci me permet de m'appuyer, plutôt que de réinventer, sur environ 70.000 lignes de code - et quelqu'un d'autre maintient ce code à mesure que Javascript évolue.&nbsp;
Ceci illustre la puissance de la communauté open source.&nbsp;
</p>
<p>
Edbrowse n'offre pas toutes les fonctionnalités de Javascript côté client (DOM), et ne les offrira jamais.&nbsp;
Par exemple, beaucoup de sites Web utilisent Javascript pour changer des images à la volée au passage de la souris sur l'écran.&nbsp;
Ceci n'a aucune signification dans edbrowse.&nbsp;
D'autres sites Web affichent de multiples fenêtres multiples, et vous laissent agir sur ces sous-fenêtres en utilisant des icônes dans la fenêtre principale.&nbsp;
Il serait très difficile simuler ce comportement dans un environnement en ligne de commande - ainsi nous n'essayons pas.&nbsp;
</p>
<p>
Approximativement, je compte implémenter environ la moitié de Javascript, la moitié qui satisfera 95% des sites Web qui nous intéressent.&nbsp;
Ainsi vous pourrez voir des messages d'avertissement sur telle ou telle fonctionnalité non supportée.&nbsp;
Si vous êtes fatigué de patauger dans ces messages, ou si un bogue dans mon interpréteur Javascript fait planter edbrowse complètement, vous pouvez désactiver Javascript par l'intermédiaire de la commande « js ».&nbsp;
C'est utile quand vous surfez sur l'internet à la recherche d'information, et que vous savez que vous n'aurez pas besoin de Javascript.&nbsp;
Vous pouvez également désactiver Javascript pour des sites internet spécifiques.&nbsp;
Ceci sera discuté plus tard, quand nous décrirons le fichier de configuration d'edbrowse.&nbsp;
</p>

<h3 align="center"> <a name="valid"> Valider des formulaires </a> </h3>

Quand une page Web demande des données à l'utilisateur, elle inclut souvent une fonction de « valider&soumettre ».&nbsp;
Cette fonction contrôle vos entrées : vous avez complété tous les champs obligatoires- il y a le signe @ dans votre adresse électronique – il y a 5 chiffres dans votre code postal - et ainsi de suite.&nbsp;
S'il n'y a aucune erreur, il envoie le formulaire.&nbsp;
Ces fonctions se comportent habituellement bien sous edbrowse.&nbsp;
Quand vous poussez le bouton, vous verrez le message d'erreur, ou bien le formulaire sera envoyé, et une page de confirmation apparaîtra sous peu.&nbsp;

<p>
Dans certains cas la fonction de Javascript restructure vos données.&nbsp;
Elle peut compléter certains des champs « cachés » pour vous, ou elle peut calculer la TVA et le prix d'achat en conséquence.&nbsp;
C'est plus que la validation de formulaire, c'est du Javascript actif, et les données ne seront pas exactes si Javascript ne fonctionne pas correctement sur votre ordinateur.&nbsp;
De plus en plus de sites emploient du Javascript actif, ainsi un navigateur supportant Javascript est un must.&nbsp;
</p>
<p>
Quelques fonctions de Javascript contrôlent des menus dynamiques.&nbsp;
On fait un premier choix, et Javascript crée un deuxième menu avec des options correspondant à votre premier choix.&nbsp;
Vous pouvez maintenant faire un deuxième choix, qui affine votre recherche.&nbsp;
Si le premier menu présente des « viandes », des « légumes », des « fruits », et des «céréales», et vous choisissez des fruits, le deuxième menu pourrait contenir des « pommes », des « oranges », des « citrons » etc.&nbsp;
Javascript rend tout ceci possible.&nbsp;
Malheureusement, ces menus dynamiques ne sont pas encore supportés par edbrowse.&nbsp;
</p>

<h3 align="center"> <a name="popup"> Fenêtres Popups et Popunders </a> </h3>

Un popup est une fenêtre qui apparaît soudainement devant la fenêtre affichée à l'écran.&nbsp;
Elle annonce habituellement quelque chose, et c'est souvent agaçant, bien que dans de rares cas, ce soit un aspect nécessaire du site Web.&nbsp;

<p>
Vous avez un avantage certain sur tous les autres surfeurs avec leurs navigateurs graphiques.&nbsp;
La fenêtre automatique ne s'ouvre pas automatiquement.&nbsp;
Les fenêtres ne sont de toute façon pas bien définies dans un navigateur en ligne de commande, ce serait donc folie d'essayer d'implémenter ce dispositif, ou n'importe quel autre aspect de multi-fenêtrage en la matière.&nbsp;
Au lieu de cela, la fenêtre popup apparaît comme hyperlien au début ou près du début de la page, et vous pouvez cliquer dessus si vous aimez, ou l'ignorer.&nbsp;
C'est semblable à la musique de fond, décrite dans une section précédente.&nbsp;
Le lien automatique pourrait ressembler à ceci.&nbsp;
</p>
<p>
{Popup: specials()}
</p>
<p>
Les fenêtres Popunders ne sont pas si fréquentes.&nbsp;
Elles apparaissent après que vous ayez fermé la fenêtre.&nbsp;
Dans un certain sens elles sont cachées « sous » votre page Web, et quand vous fermez la page elles remontent à la surface.&nbsp;
Dans edbrowse, cela ne se produit pas automatiquement.&nbsp;
Quand vous tapez « q », vous quittez, et tout est terminé.&nbsp;
Comme vous pouvez le prévoir, la fonction popunder apparaît comme hyperlien.&nbsp;
Elle pourrait ressembler à ceci.&nbsp;
</p>
<p>
{On Close: foo()}
</p>
<p>
Rappelez-vous, le lien popup est un simple lien HTML vers une autre page Web, alors que le lien « Close » appelle une fonction de Javascript de la page courante.&nbsp;
Cependant, cette fonction Javascript renvoie habituellement à une autre page Web, ainsi ne soyez pas étonné si vous vous trouvez quelque part ailleurs sur l'Internet.&nbsp;
Dans les deux cas, popup ou popunder, vous pouvez employer la touche de retour arrière pour retourner à la page que vous consultiez.&nbsp;
Si vous avez besoin de l'accès à une fenêtre popup et à la page principale en parallèle, 
employez la <a href="#move">commande M</a>.
</p>
<p>
Javascript inclut également les fonctions de temporisation, qui se déclenchent après un nombre spécifié de secondes.&nbsp;
Celles-ci sont implémentées comme hyperliens au début de la page.&nbsp;
Elles contrôlent habituellement des effets visuels, et sont plutôt inutiles.&nbsp;
Le temporisateur suivant pourrait dessiner une étoile explosant à l'écran au bout de 16 secondes.&nbsp;
</p>
<p>
{Timer 16: starburst()}
</p>

<h3 align="center"> <a name="onc"> Onchange et défaire </a> </h3>

Quand vous entrez ou modifiez la valeur d'une zone de saisie, le formulaire peut (pas toujours) appeler une routine Javascript.&nbsp;
Ce n'est pas habituel, mais cela arrive.&nbsp;
Dans un exemple précédent, j'ai décrit un menu primaire et secondaire.&nbsp;
Quand le premier choix est fait, par exemple les fruits, Javascript crée le deuxième menu correspondant à votre choix primaire, en utilisant la fonctionnalité « onchange ».&nbsp;

<p>
C'est bel et bon, mais edbrowse a quelque chose que votre navigateur graphique n'a pas, à savoir la commande défaire (undo).&nbsp;
Et dans ce contexte, cela ne fonctionne vraiment pas.&nbsp;
Changez les fruits en légumes, et le deuxième menu présentera des carottes, petits pois etc.&nbsp;
Tapez maintenant « u » pour défaire : le premier menu revient aux fruits, mais le deuxième menu contient toujours des légumes.&nbsp;
C'est parce que la fonction défaire a été écrite à l'origine pour l'éditeur de texte.&nbsp;
Il remet simplement le texte comme il était, et n'a aucune capacité « de défaire » les effets secondaires du code Javascript.&nbsp;
Ainsi la morale de l'histoire, s'il y en a une, est d'entrer et changer les valeurs d'une zone de saisie directement, et éviter la commande défaire, à moins d'être sûr ici de n'avoir aucun effet secondaire de Javascript lié à cette zone de saisie.&nbsp;
</p>

<h3 align="center"> <a name="cfg"> Fichier de configuration </a> </h3>

Au démarrage, edbrowse lit et analyse un fichier de configuration.&nbsp;
Cela fonctionne si ce fichier est absent, mais s'il est présent, il doit être syntaxiquement correct.&nbsp;
Une erreur dans votre fichier de configuration fera avorter edbrowse.&nbsp;
Si cela se produit, employez l'option « -c » pour éditer le fichier de configuration directement.&nbsp;
Ceci passe outre l'initialisation, vous place dans l'éditeur, avec le fichier de configuration préchargé.&nbsp;
Faites vos corrections, sauvegardez le fichier, quittez, et relancez edbrowse.&nbsp;
Répétez ces étapes jusqu'à ce qu'il n'y ait plus d'erreur, et vous verrez les mots « edbrowse ready ».&nbsp;.

<p>
Le fichier de configuration est dans $HOME/.ebrc.&nbsp;
Le « eb » est un raccourci pour edbrowse.&nbsp;
Vous ne pouvez pas renommer le fichier de configuration ; il est ce qu'il est.&nbsp;
C'est également vrai sur Windows , ainsi s'assurer que la variable HOME est renseignée.&nbsp;
</p>
<p>
Ce fichier est orienté « lignes ».&nbsp;
Les lignes commençant par # sont des commentaires, et donc ignorées.&nbsp;
Les interlignes sont également ignorés.&nbsp;
Les autres lignes tombent dans une de ces 5 catégories.&nbsp;
</p>
<ol>
<p></p><li> Définition d'une option, en utilisant la syntaxe « mot-clé=valeur».&nbsp;
<p></p></li><li> Définition un script edbrowse qui peut être appelé de la ligne de commande, ou par un autre script.&nbsp;
<p></p></li><li> Une commande d'edbrowse, qui devient une partie d'un script d'edbrowse.&nbsp;
<p></p></li><li> Définir un compte de courrier électronique.&nbsp;
Ceci sera décrit plus tard, quand nous parlerons du client de courrier électronique
<p></p></li><li> Une règle de filtrage de courrier.&nbsp;&nbsp;
</li>
</ol>

<h3 align="center"> <a name="keyval"> Mot-clé = valeur </a> </h3>

La meilleure documentation étant un exemple, alors on s'y plonge.&nbsp;.

<p>
Rappelez-vous la section sur les cookies.&nbsp;
Vous aurez besoin d'un fichier, souvent appelé un récipient de cookies, pour stocker vos cookies.&nbsp;
La ligne qui définit ce récipient de cookies pourrait ressembler à ceci :
</p>
<p>
jar = /home/eklhad/.ebsys/cookie-jar
</p>
<p>
C'est une syntaxe simple : mot-clé = valeur.&nbsp;
Pas de problèmes si le nom de fichier contient des espaces, ou même le signe égal.&nbsp;
Pas besoin de le mettre entre parenthèses.&nbsp;
</p>
<p>
Quand edbrowse voit cette ligne dans son fichier de configuration, il repère l'emplacement du fichier « « cookie-jar », et vérifie la validité de ce fichier.&nbsp;
Si le fichier est un répertoire (ou quelque chose de bizarre), ou bien est inaccessible, edbrowse affiche un message d'erreur et quitte.&nbsp;
Si cela se produit, utilisez l'option « -c » pour éditer votre fichier de configuration, et modifier le fichier des cookies.&nbsp;
</p>
<p>
Voici quelques directives additionnelles de type nom=valeur.&nbsp;
Certaines sont employées pour définir un compte de courrier électronique.&nbsp;
Ceci deviendra plus clair quand nous parlerons du client de courrier.&nbsp;
</p>
<p>
certfile = /home/eklhad/.ebsys/ssl-certs
</p>
<p>
Indique le fichier qui sauvegarde les certificats pour les connexions sécurisées.&nbsp;
Ceci a été expliqué dans la section sur les <a href="#ssl">connexions sécurisées.</a>.
</p>
<p>
maildir = /home/eklhad/mbox
</p>
<p>
Allez dans ce répertoire lorsque vous récupérez votre courrier.&nbsp;
Ainsi, si vous sauvegardez un message,, vous saurez toujours où il est.&nbsp;
</p>
<p>
webtimer = 30
<br>
mailtimer = 180
</p>
<p>
Attendre 30 secondes une réponse d'un serveur web, et 3 minutes pour une réponse du serveur mail.&nbsp;
Une valeur 0 attend indéfiniment.&nbsp; Désolé, il ne semble y avoir aucune manière d'interrompre une connexion, autre que contrôle anti-slash, qui tue le programme.&nbsp;
C'est pourquoi ces temporisateurs sont ici - ainsi vous n'attendrez pas indéfiniment.&nbsp;
Les valeurs par défaut sont respectivement de 20 et 0.&nbsp;
</p>
<p>
nojs = space.com
</p>
<p>
Indique les domaines qui n'ont pas besoin de Javascript.&nbsp;
Vous pouvez éliminer les messages d'erreur agaçants et accélérer l'accès en désactivant Javascript pour certains sites Web.&nbsp;
Javascript ne sera pas lancé dans les pages de ces sites, ni même recherché sur ces sites.&nbsp;
</p>
<p>
La directive ci-dessus désactivera également le Javascript des sous-domaines tels qu www.space.com.
</p>
<p>
Vous pouvez inclure un chemin ou un chemin partiel après le nom de domaine, comme dans space.com/popups.&nbsp;
Ceci bloquera le popup ADS que vous ne voulez pas voir, et qui produit souvent des erreurs d'edbrowse.&nbsp;
Les sous-domaines ne sont pas pris en compte quand un chemin est précisé ; le domaine doit correspondre exactement.&nbsp;
</p>
<p>
inserver = pop3.un-domaine.com<br>
inport = 110<br>
outserver = smtp.un-domaine.com<br>
outport = 25
</p>
<p>
Indique les machines et les ports que vous employez pour récupérer (pop) et envoyer (smtp) le courrier.&nbsp;
Vous pouvez employer les noms complets de domaine, ou des noms d'emprunt, s'ils sont définis dans le fichier « /etc/hosts ».&nbsp;
Les ports indiqués ici sont standard, et fonctionnent presque toujours.&nbsp;
Ce sont les ports par défaut de edbrowse, ainsi vous n'avez pas besoin de spécifier les ports d'entrée et de sortie, à moins qu'ils soient différents.&nbsp;
Notez, ces mots-clés sont uniquement valides dans le contexte d'un compte de courrier électronique, indiqué par mail{}.&nbsp;
</p>
<p>
Une étoile devant le numéro de port, par exemple inport *110,&nbsp;
signifie que le 'socket' doit être crypté, pour la sécurité.&nbsp;
Lorsque le port smtp est crypté, l'authentification 'login' est de règle.&nbsp;
Aucune autre méthode d'authentification n'est actuellement implémentée,&nbsp;
pas plus qu'une authentification n'est possible en dehors du contexte d'un flot crypté.
</p>
<p>
login = eklhad
<br>
password = secret
</p>
<p>
Indique le nom d'utilisateur (login) et le mot de passe que edbrowse utilisera pour récupérer votre courrier.&nbsp;
</p>
<p>
from = Karl Dahlke
<br>
reply = karl.dahlke@some-domain.com
</p>
<p>
Ces lignes sont ajoutées aux courriers électroniques que vous envoyez.&nbsp;
Elles indiquent au destinataire qui vous êtes, et comment répondre.&nbsp;
Il est <a href="http://www.spamlaws.com/">illégal</a> d'employer ces lignes dans un but trompeur.&nbsp;
S'assurer qu'elles vous identifient, et que l'adresse de réponse est en effet l'un de vos comptes de courrier électronique.&nbsp;
</p>
<p>
adbook = /home/eklhad/.ebsys/carnet_adresses
</p>
<p>
En indiquant des destinataires, vous pouvez employer des surnoms au lieu des adresses électroniques complètes.&nbsp;
Les surnoms sont vérifiés dans votre carnet d'adresses, un fichier texte, orienté « ligne » spécifié ici (« carnet_adresses »).&nbsp;
Si votre carnet d'adresses contient la ligne
</p>
<p>
fred : fred.flintstone@bedrock.us : 226 rue des tanneurs : 0555382705
</p>
<p>
alors vous pouvez utiliser le surnom fred, et edbrowse substituera l'adresse électronique de Fred quand il enverra le courrier.&nbsp;
Seuls les deux premiers champs dans le carnet d'adresses sont significatifs en ce qui concerne edbrowse.&nbsp;
D'autres champs pourraient contenir des numéros de fax de téléphone/, l'adresse postale, etc.&nbsp;
C'est à vous d'en décider.&nbsp;
</p>
<p>
spamcan = /home/eklhad/.recycle/spams
</p>
<p>
Il n'y a aucun filtre parfait de spams.&nbsp;
Mais je ne peux pas vivre sans un filtre, ainsi j'ai écrit un bloqueur simple d'IP. (présenté ci-dessous). Quand un spam est reçu, edbrowse affiche la ligne « spam de tel et tel», et sauvegarde le courrier dans ce fichier.&nbsp;
Si vous reconnaissez le nom de l'expéditeur, qui pourrait être un ami, vous pouvez appeler ce fichier, trouver le courrier, et le lire.&nbsp;
Ceci ne devrait pas se produire, car il n'y a aucune raison particulière de bloquer l'adresse IP de l'ordinateur d'un ami, mais hé,hé, prudence est mère de sûreté.&nbsp;
</p>
<p>
ipblack = /home/eklhad/.ebsys/ip-blacklist
</p>
<p>
Un fichier texte contient les adresses d'IP des sites connus comme pornographiques/spammeurs.&nbsp;
La syntaxe est habituelle : les nombres sont séparés par des points, avec un indicateur facultatif de masque de la forme /xx à la fin.&nbsp;
Si le fichier contient les deux lignes suivantes, n'importe quelle adresse IP qui commence par 192.168, ou 10.11.12.13, est interdite.&nbsp;
</p>
<p>
192.168.0.0/16
<br>
10.11.12.13
</p>
<p>
Si un courrier contient des références à un site Web listé dans le fichier de spams, on considère ce courrier électronique comme un spam.&nbsp;
Soyons clairs ; je ne bloque pas le courrier électronique provenant de certaines sources.&nbsp;
Après tout, l'ordinateur de votre ami peut très bien vous envoyer des virus ou des programmes espions.&nbsp;
J'examine plutôt le courrier électronique contenant certaines URLs dans son corps.&nbsp;
Si le bouton qui affiche « médicaments bon marché pour vous » mène à un site Web interdit, vous ne verrez jamais le courrier électronique.&nbsp;
</p>
<p>
Notez, j'emploie exactement la même liste noire dans mon pare-feu.&nbsp;
Un script shell y lit les adresses et lance les commandes de blocage appropriées.&nbsp;
Mon fichier a environ 2000 entrées.&nbsp;
C'est grand, mais maniable.&nbsp;
Si la liste devient beaucoup plus grande, je peux recompiler le noyau avec l'option « large ip tables ».&nbsp;
Cette option rend les contrôles plus efficaces quand il y a beaucoup de règles.&nbsp;
Je suppose qu'elles sont triées.&nbsp;
</p>

<h3 align="center"> <a name="agent"> Agent utilisateur </a> </h3>

Chaque fois que vous rapatriez une page Web de l'Internet, votre navigateur s'identifie au centre serveur.&nbsp;
Ceci est fait automatiquement.&nbsp;
Edbrowse s'identifie en tant que « edbrowse/2.2.9 », où le nombre après le slash indique la version en cours de edbrowse.&nbsp;
<p>
Tout cela est bel et bon, mais certains sites Web n'ont aucun respect pour edbrowse, ou lynx.&nbsp;
Ils ne vous laissent pas entrer à moins que vous ressembliez à Internet Explorer ou à Netscape.&nbsp;
Clickbank.com, un gestionnaire important de cartes bancaires, en est un exemple.&nbsp;
</p>
<p>
Ainsi que faisons-nous ? Nous mentons !
</p>
<p>
Vous pouvez indiquer différents agents dans votre fichier de .ebrc, et les activer avec la commande « ua » (agent utilisateur).&nbsp;
Si les lignes suivantes sont présentes dans votre fichier « .&nbsp;
ebrc », vous pouvez taper « ua1 » pour feindre être lynx, et « ua2 » pour feindre être Mozilla.&nbsp;
Tapez « ua0 » pour restaurer l'identification standard d'edbrowse.&nbsp;
Espérons qu'il n'y a pas trop de sites Web stupides, comme Clickbank, qui nous forcent à mentir.&nbsp;
C'est stupide, et tout simplement injustifié.&nbsp;
</p>
<p>
agent = Lynx/2.8.4rel.1 libwww-FM/2.14
<br>
agent = Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90)
</p>
<p>
Ce dispositif a été écrit avant Javascript, et n'est pas 100% compatible avec l'objet "navigator".&nbsp;
Navigator.userAgent renvoie la chaîne correcte, selon l'agent choisi, mais d'autres aspects de l'objet navigateur ne changent pas avec l'agent, alors qu'ils devraient.&nbsp;
</p>

<h3 align="center"> <a name="script"> Fonctions d'Edbrowse </a> </h3>

Vous pouvez grouper un ensemble de commandes d'edbrowse sous un nom, semblable à une macro.&nbsp;
Si ce qui suit apparaît dans votre fichier de .ebrc, vous pouvez taper « &lt;ud » pour enlever les fins de lignes DOS dans un fichier.&nbsp;
<p>
function:ud {
<br>
&nbsp;&nbsp;,s/\r$//
<br>
}
</p>
<p>
La nouvelle commande &lt; est supposée vous rappeler la redirection, c'est-à-dire lire des commandes dans un fichier de macros.&nbsp;
Et une macro peut appeler d'autres macros, en employant la commande « < » dans le corps de la macro.&nbsp;
Presque toutes les commandes d'edbrowse jouent le jeu.&nbsp;
Une macro peut récupérer des pages Web de l'Internet, compléter des formulaires, soumettre des requêtes, et envoyer du courrier.&nbsp;
</p>
<p>
Normalement, edbrowse continue de fonctionner, qu'une commande réussisse ou pas.&nbsp;
Cependant, vous pouvez dire à une macro de s'arrêter en cas d'erreur en employant cette syntaxe :
</p>
<p>
function+hw {
<br>
&nbsp;&nbsp;/bonjour/p
<br>
&nbsp;&nbsp;/monde/p
<br>
}
</p>
<p>
Le signe plus après le mot « function » signifie que chaque commande de la fonction doit réussir.&nbsp;
S'il n'y a aucune ligne contenant le mot bonjour, la fonction s'arrête.&nbsp;
S'il y a une telle ligne, alors la fonction continue, et recherche une ligne contenant le mot monde.&nbsp;
</p>
<p>
Excepté l'indentation, le format est fixe, et impitoyable.&nbsp;
Vous ne pouvez pas, par exemple, mettre l'accolade d'ouverture sur sa propre ligne, comme suggéré par K&R.&nbsp;
</p>
<p>
Ces fonctions, ou macros, peuvent accepter des paramètres.&nbsp;
Rendons la fonction précédente un peu plus générale.&nbsp;.
</p>
<p>
function+hw {
<br>
&nbsp;&nbsp;/~1/p
<br>
&nbsp;&nbsp;/~2/p
<br>
}
</p>
<p>
Vous pouvez reproduire le comportement précédent en tapant &lt;hw bonjour monde.&nbsp;
Ou vous pouvez rechercher différentes lignes en appelant &lt;hw salut ami.&nbsp;
La dernière commande recherche une ligne contenant le mot salut et l'affiche, et si succès recherche une ligne contenant le mot ami et l'affiche.&nbsp;
Établissons une fonction plus utile, un raccourci pour google.&nbsp;
La variable « ~0 » représente la réunion de tous les arguments.&nbsp;
Dans ce cas-ci « ~0 » représente les mots-clés passés à google, pour votre recherche.&nbsp;
</p>
<p>
function+gg {
<br>
&nbsp;&nbsp;b www.google.com/search?q=~0&amp;hl=n&amp;btnG=Google+Search&amp;meta=
<br>
}
</p>
<p>
Avec ceci vous tapez simplement `&lt;gg kangourou habitat'
pour découvrir où les kangourous vivent.&nbsp;
</p>
<p>
En conclusion, une fonction d'edbrowse peut prendre deux directions différentes, selon le succès ou l'échec de la commande précédente.&nbsp;
Utilisez « if(*) » pour le succès, et « if(?) » pour l'échec.&nbsp;
? est supposé vous rappeler le point d'interrogation affiché quand une commande d'edbrowse échoue.&nbsp;
Ce qui suit recherche une ligne contenant le mot « salut », et s'il en trouve un, il avance à la prochaine ligne, et si cette ligne contient le mot « ami », il la supprime.&nbsp;
</p>
<pre><font face="Arial,Helvetica,sans-serif" size="3">function+silly {
 /salut/
 if(*) {
  +s/ami//
  if(*) {
   d
  }
 }
}
</font></pre>

<p>
J'ai délibérément employé « function+ » au lieu de « function: » dans l'exemple précédent.&nbsp;
Normalement, + fera avorter la fonction si une commande d'edbrowse échoue.&nbsp;
Cependant, si le résultat de cette commande est employé dans un test, l'exécution de la fonction doit se poursuivre.&nbsp;
C'est identique à l'option « -e » du shell, qui fait avorter un script, à moins que le résultat de la commande soit employé dans une structure si.&nbsp;
</p>
<p>
D'autres structures de contrôle incluent « while(*) » while(?) until(*) et until(?).&nbsp;
L'exemple qui suit efface les lignes du fichier, à partir du début, tant que ces lignes contiennent le mot salut ou ami.&nbsp;
Il supprime ensuite toutes les lignes vides du début.&nbsp;
</p>
<pre><font face="Arial,Helvetica,sans-serif" size="3">function+topclean {
 until(?) {
  1g/salut\|ami/d
 }
 until(?) {
  1g/^$/d
 }
}
</font></pre>

<p>
Vous pouvez employer la boucle (100) {…} pour répéter un ensemble de commandes 100 fois.&nbsp;
Je n'ai pas employé ce dispositif très souvent.&nbsp;
</p>

<h3 align="center"> <a name="init"> Le script d'initialisation </a> </h3>

Le script appelé « init » est lancé au démarrage d'edbrowse.&nbsp;
Il définit quelques comportements par défaut – par ex. la lecture de votre fichiers de signets, pour avoir vos « favoris » sous la main.&nbsp;
Voici un exemple.&nbsp;
<pre><font face="Arial,Helvetica,sans-serif" size="3">function+init {
# désactive le débogage, pour ne pas afficher les messages de ce script
db0
# supposent que des répertoires sont en lecture/écriture
dw
# pour les lignes affichées, mettre marqueurs de début et de fin 
el
# mettre les favoris dans la session 99 : on sera prêt à surfer.&nbsp;
e99
b $bookmarks
# retour à la session 1, pour travailler
e1
# remet le niveau de débogage à 1 ou 2, valeurs raisonnables
db1
}
</font></pre>

<p>
C'est juste un exemple.&nbsp;
Mettez quelque chose que vous aimez dans ce script, ou ignorez-le si le fonctionnement d'edbrowse vous satisfait ainsi.&nbsp;
</p>

<h3 align="center"> <a name="ma"> Comptes de courrier </a> </h3>

Le prochain chapitre décrit edbrowse en tant que client de courrier électronique, aussi allons-nous employer le fichier de configuration pour définir vos comptes de courrier. Vous pouvez définir plusieurs comptes, si besoin.&nbsp;
Ils sont implicitement numérotés, dans l'ordre d'apparition dans le fichier de configuration.&nbsp;
Ainsi le premier compte de courrier devient #1, le second devient #2, et ainsi de suite.&nbsp;

<p>
Nous avons vu les mots-clés définissant un compte de courrier.&nbsp;
Enfermez-les dans {mail…}, comme suit :
</p>
<pre><font face="Arial,Helvetica,sans-serif" size="3">mail {
 default
 inserver = pop3.some-domain.com
 outserver = smtp.some-domain.com
 login= eklhad
 password = secret
 from = Karl Dahlke
 reply = karl.dahlke@some-domain.com
}
</font></pre>

<p>
La directive « default » fait de ce compte le compte par défaut.&nbsp;
Un et un seul compte doit être défini par défaut.&nbsp;
Si vous n'indiquez pas un compte pour récupérer ou envoyer le courrier, le compte de défaut est employé.&nbsp;
Attention : le serveur smtp par défaut est <em>toujours</em> utilisé pour envoyer le courrier, quelque que soit le compte spécifié.&nbsp;
Si le compte #1 est le compte par défaut, et vous envoyez le courrier en utilisant le compte #3, l'adresse d'expéditeur et de réponse du compte #3 seront envoyées au destinataire, et s'il répond, sa réponse sera envoyée au compte #3 de courrier.&nbsp;
Cependant, le serveur smtp de votre compte de défaut est toujours utilisé pour transmettre physiquement le message.&nbsp;
Il y a des raisons techniques à cela, lesquelles sont hors de portée de ce document.&nbsp;
Faites-moi confiance, c'est la chose à faire.&nbsp;
</p>
<p>
Le filtrage du courrier, par l'expéditeur et/ou le sujet, est contrôlé par votre fichier de configuration.&nbsp;
Ceci sera <a href="#filter">décrit plus tard</a>,
en tant qu'élément du client « fetchmail ».&nbsp;
</p>

<h3 align="center"> <a name="mt"> Descripteurs des types Mime </a> </h3>

Les types mime sont déterminés par l'extension dans le nom de fichier, ou dans certains cas par le protocole.&nbsp;
Ils peuvent indiquer à edbrowse d'utiliser /usr/bin/play pour jouer fichier.wav ou fichier.voc, et /usr/bin/mpg123 pour jouer fichier.mp3, et ainsi de suite.&nbsp;
Plutôt que de tout répéter ici, je vous suggère de jeter un oeil à la section mime{…} du fichier de configuration exemple fourni.&nbsp;
Les utilisateurs de Linux pourront probablement copier cette section dans leur propre fichier de configuration.&nbsp;
Elle fait généralement ce qu'il faut.&nbsp;
Voici un exemple :

<pre><font face="Arial,Helvetica,sans-serif" size="3">mime {
type = audio/mp3
desc = fichier audio dans le format mp3
suffix = mp3
program = mpg123 -q -
}
</font></pre>

<p>
Si vous avez téléchargé un fichier de l'Internet terminé par « .mp3 », tapez « pb » pour jouer le contenu du tampon.&nbsp;
Les données sont transférées au programme, dont les options lui indiquent de s'attendre à des données provenant de l'entrée standard.&nbsp;
Si le programme mp3 fonctionne mieux à partir d'un fichier, ajoutez le caractère « % » pour transformer le tampon en fichier temporaire avec le suffixe approprié.&nbsp;
</p>
<p>
program = mpg123 -q %
</p>
<p>
La commande « pb » travaille sur le tampon.&nbsp;
Par exemple, un descripteur mime pourrait ouvrir des archives compressées de type « zip ».&nbsp;
</p>
<pre><font face="Arial,Helvetica,sans-serif" size="3">mime {
type = data/zip
desc = archive zip compressée
suffix = zip
# utilisez %, puisque le programme unzip ne peut lire des données qu'à partir d'un fichier
program = unzip %
}
</font></pre>

<h3 align="center"> <a name="sampcfg"> Un exemple de fichier de configuration </a> </h3>

La meilleure documentation étant un exemple, je vous propose un fichier de configuration exemple avec de fausses données;
 Il est bien commenté.&nbsp;
Vous pouvez le télécharger <a href="sample_fr.ebrc">ici</a>.

<h3 align="center"> <a name="sm"> Envoyer le courrier </a> </h3>

Vous pouvez envoyer par mail le contenu de votre session d'édition courante à quelqu'un d'autre par l'intermédiaire de la commande « sm ».&nbsp;
Vos comptes de courrier sont décrits dans votre <a href="#cfg">fichier de configuration</a>.

<p>
Le contenu de votre fichier « .signature », dans votre répertoire local, est automatiquement ajouté en fin de courrier.&nbsp;
C'est le comportement standard des clients de courrier Unix.&nbsp;
</p>
<p>
Les destinataires, les pièces jointes, et le sujet doivent apparaître au début de votre fichier.&nbsp;
La commande « sm » est compliquée, aussi regardez bien la syntaxe ci-dessous :
</p>
<pre><font face="Arial,Helvetica,sans-serif" size="3">To: fred.flintstone@bedrock.us
CC: barney.rubble@bedrock.us
account: 1
attach: hollyrock-brochure.pdf
Subject: Vacances à Hollyrock
Venez visiter Hollyrock.&nbsp;
Brochure jointe.&nbsp;
Sincèrement,
Rock studios incorporated.
</font></pre>

<p>
La ligne « account » est facultative.&nbsp;
Elle oblige edbrowse à utiliser le premier compte de courrier indiqué dans votre fichier de configuration « .ebrc ».&nbsp;
Si vous omettez la ligne « account », edbrowse utilisera le compte par défaut, indiqué par « default » dans votre fichier « .ebrc ».&nbsp;
</p>
<p>
Taper « sm5 » indique à edbrowse d'utiliser le compte 5 de votre fichier de configuration.&nbsp;
Ceci annule la ligne « account » de votre fichier à envoyer, si elle existe.&nbsp;
Il est souvent plus facile de taper « sm5 » que d'insérer « account: 5 ».&nbsp;
Notez, « sm-5 » est identique à « sm5 », mais le fichier .signature n'est pas ajouté à votre envoi.&nbsp;
Parfois vous voulez une fin différente sur votre mail, dans une situation particulière.&nbsp;
</p>
<p>
Utilisez les lignes « attach: » pour les pièces jointes.&nbsp;
Chaque ligne doit indiquer le nom de fichier à joindre, et ces lignes doivent précéder la ligne « Subject ».&nbsp;
Si le nom de fichier attaché est simplement un nombre, c'est la session correspondante d'edbrowse qui sera attachée.&nbsp;
Revenir à l'exemple ci-dessus, où nous essayons d'attacher la brochure pour Hollyrock.&nbsp;
Une autre manière de faire est de commuter à la session 2 et d'y enregistrer le fichier pdf.&nbsp;
C'est un fichier binaire, aucune importance.&nbsp;
Ne pas essayer de l'afficher, mettez-le juste en session 2.&nbsp;
Puis commutez de nouveau à la session 1 et employer la ligne « attach:2 ».&nbsp;
</p>
<p>
Si vous employez « attach:2 », au lieu de « attach:hollyrock-brochure.pdf », le destinataire Fred notera une différence.&nbsp;
La pièce jointe n'a pas de nom.&nbsp;
S'il veut sauvegarder la pièce jointe, il devra donner un nom de fichier lui-même.&nbsp;
A part cela, le courrier est identique.&nbsp;
</p>
<p>
La directive « alt: » est presque identique à la directive « attach: ».&nbsp;
En employant « alt: » , la pièce jointe n'est pas transférée dans un fichier à part.&nbsp;
Au lieu de cela, c'est une représentation alternative du même mail.&nbsp;
Le client de courrier du destinataire essaiera d'employer l'affichage alternatif si possible.&nbsp;
C'est utilisé pour envoyer un email contenant du multimédia, avec des hyperliens, des images etc.&nbsp;
Le mail primaire est en texte plat, mais la pièce jointe « alternative » est en HTML ou en texte formaté.&nbsp;
À moins que quelque chose n'aille de travers, le destinataire verra la présentation alternative, avec les images et les hyperliens.&nbsp;
</p>
<p>
Comme les pièces jointes, la ligne « alt: » se rapporte à un fichier ou à une session d'edbrowse.&nbsp;
</p>
<p>
Comme vous l'avez deviné, les lignes « to: » définissent les destinataires.&nbsp;
Veuillez ne pas indiquer plus que quelques destinataires.&nbsp;
Quelques serveurs, mon serveur mail inclus, limitent à 100 le nombre de destinataires.&nbsp;
Si vous dépassez ce nombre, les destinataires restants n'obtiennent simplement pas leur courrier.&nbsp;
De préférence, limiter votre « to: » lignes à une douzaine de lignes.&nbsp;
</p>
<p>
Souvenez-vous que « CC » signifie copie carbone.&nbsp;
Ceci indique au destinataire, ici Barney Rubble, qu'il reçoit une copie du mail pour information ; il n'a pas besoin de répondre.&nbsp;
Employer BCC pour la copie carbone cachée, de sorte que chaque destinataire ne voie pas les autres adresses mail.&nbsp;
</p>
<p>
En indiquant des destinataires, vous pouvez employer des surnoms au lieu des adresses mail complètes.&nbsp;
Les surnoms sont vérifiés dans votre carnet d'adresses, un fichier texte référencé dans votre fichier de configuration « .ebrc ».&nbsp;
 Si votre carnet d'adresses contient la ligne :
</p>
<p>
fred : fred.flintstone@bedrock.us : 15 rue des tanneurs : 05555382710
</p>
<p>
alors vous pouvez simplement écrire « to: fred » en tête de votre fichier.&nbsp;
Seuls les deux premiers champs du carnet d'adresses sont significatifs en ce qui concerne edbrowse.&nbsp;
D'autres champs peuvent contenir des numéros de fax, de téléphone/ l'adresse postale, etc.&nbsp;
</p>
<p>
Noter que « Reply to fred » est une syntaxe alternative pour «to: fred ».&nbsp;
</p>
<p>
Quelques pages Web incluent des liens « sendmail ».&nbsp;
Elles ressemblent à d'autres hyperliens, mais elles envoient le mail à la personne appropriée.&nbsp;
</p>
<p>
Si vous activez un lien « sendmail », vous serez placés en nouvelle session d'édition avec les lignes « to » et de « subject » pré-remplies.&nbsp;
Si l'URL n'indiquait pas de sujet, le sujet est simplement «Hello».&nbsp;
Vous voudrez probablement le remplacer par autre chose.&nbsp;
Tapez votre message puis « sm » pour l'envoyer.&nbsp;
Puis tapez « ^ » pour retourner à la page Web que vous consultiez.&nbsp;
Noter que le corps de votre mail peut également être pré-rempli avec du texte, aussi vérifiez avant d'écrire et d'envoyer.&nbsp;
</p>
<p>
Vous pouvez inclure des pièces jointes avec la directive « attach:  » en tête du fichier, supposant que le destinataire peut récupérer ces pièces jointes.&nbsp;
C'est utile quand le lien sendmail demande un {rapport de bogue} - vous pouvez attacher un programme et/ou ce qu'il a produit.&nbsp;
C'est assez rare.&nbsp;
La plupart des liens de sendmail n'attendent que quelques commentaires ou réactions, et rien d'autre.&nbsp;
</p>
<p>
Quelques formulaires de Web sont envoyés par mail, plutôt que par HTTP direct.&nbsp;
Edbrowse les manipule correctement.&nbsp;
Il montre l'adresse mail de destination, envoie le courrier par smtp, et vous prévient qu'il attend une réponse.&nbsp;
Cette réponse pourrait être une réponse par mail, ou même un appel téléphonique si vous avez fourni votre numéro de téléphone dans le formulaire.&nbsp;
Mais rappelez-vous, ce n'est immédiat. Vous êtes toujours sur la même page Web, immobile à regarder le bouton d'envoi.&nbsp;
Ne poussez plus le bouton ! Le courrier a été envoyé, et vous entendrez parler de la compagnie dans les jours à venir.&nbsp;
</p>
<h3 align="center"> <a name="smc"> Client d'envoi de courrier </a> </h3>

Comme décrit précédemment, edbrowse incorpore les fonctionnalités d'un client de courrier.&nbsp;
En plus de la commande interactive « sm », vous pouvez envoyer le courrier par lots, à partir de la ligne de commande.&nbsp;
Si Fred et Barney sont dans votre carnet d'adresses, et vous voulez leur envoyer le courrier à partir de la ligne de commande, avec une pièce jointe, en utilisant votre compte primaire de courrier, faites ceci.&nbsp;
<p>
e -m1 fred ^barney hollyrock-notice +hollyrock-brochure.pdf
</p>
<p>
Le ^ précédent « barney » indique qu'il est un destinataire cc.&nbsp;
Utilisez « ?barney » pour BCC.&nbsp;
</p>
<p>
On assume que des fichiers suivis du signe « + » sont des pièces jointes.&nbsp;
S'ils sont binaires, ils seront encodés correctement, selon leur type mime.&nbsp;
Un signe « - » indique un format alternatif, comme ceci :
</p>
<p>
e -m1 fred ^barney hollyrock-notice -hollyrock-graphical.html
</p>
<p>
Souvenez-vous, vous pouvez indiquer plusieurs comptes de courrier dans votre fichier « .ebrc ».&nbsp;
Le premier compte est indiqué par l'index 1, comme ci-dessus dans « -m1 », et ainsi de suite.&nbsp;
Vous pouvez vous faciliter la vie beaucoup avec quelques alias dans votre fichier « .bashrc ».&nbsp;
</p>
<pre><font face="Arial,Helvetica,sans-serif" size="3"># mon courrier, compte à la maison
alias moi=" e -m1 "
# le compte de mon épouse.&nbsp;
alias elle=" e -m2 "
# mon compte de travail.&nbsp;
alias travail= " e -m3 "
# le terme « mail » est obsolète
mail = " utilisez moi, elle, ou travail 
</font></pre>

<h3 align="center"> <a name="fmc"> Client de récupération de courrier </a> </h3>

Si edbrowse est lancé avec l'option « -m1 », et pas autres arguments, il devient client interactif de courrier, recherchant le courrier de votre premier compte pop3.&nbsp;
D'abord il vous indique combien de messages vous avez reçu.&nbsp;
S'il n'y a aucun message il n'indique « Pas de message », et sort.&nbsp;
S'il y a des messages, il les récupère un par un.&nbsp;
Pour chaque message, il montre l'en-tête (sujet et l'expéditeur) et la première page du texte, et puis affiche un message de sollicitation.&nbsp;
Le message « ? » signifie que le message est complet -- le message « * » qu'il reste du texte à lire.&nbsp;
Vous répondez en tapant une touche.&nbsp;
Les touches ont la signification suivante :
<pre><font face="Arial,Helvetica,sans-serif" size="3">? 	résumé des commandes principales
q 	quitte le programme
x 	quitte le programme, le courrier effacé n'est pas physiquement supprimé
espace	affiche plus de texte
n 	lire le prochain message
d 	efface ce message
i	montre les numéros IP, puis supprime ce message
j 	balance ce message à la poubelle, et tous les messages avec le même sujet, pendant 10 jours
J 	balance ce message à la poubelle, et tous les messages avec le même sujet, pendant 1 an
w	sauvegarde ce message dans un fichier, puis le supprime
k 	sauvegarde ce message dans un fichier, mais ne le supprime pas
u 	sauvegarde ce message non formaté dans un fichier et le supprime
</font></pre>

<p>
Les trois dernières commandes, k w et u, exigent un nom de fichier, qu'il faut donner.&nbsp;
Le nom de fichier réservé « x » est /dev/null, c'est-à-dire que le courrier est jeté.&nbsp;
Vous pouvez jeter le courrier dans « x » mais sauvegarder les pièces jointes.&nbsp;
Si le fichier ne s'appelle pas « x », et si le programme ne peut pas sauvegarder sous le nom de fichier indiqué, il demande un nouveau nom de fichier.&nbsp;
Noter que X majuscule fera la même chose.&nbsp;
</p>
<p>
La commande de mise à la poubelle ajoute une règle de filtre à votre fichier de configuration, qui balancera à la poubelle tous les messages ayant le même « subject ».&nbsp;
C'est utile quand vous ne voulez pas lire un fil de discussion dans une liste de diffusion.&nbsp;
Employez la commande « j » de mise à la poubelle pendant dix jours.&nbsp;
La commande « J » majuscule de mise à la poubelle pendant une année est typiquement employés pour des sujets de spam, tels que « médicaments bon marché ».&nbsp;
</p>
<p>
Utilisez la commande « I » quand le courrier est d'évidence un spam porno.&nbsp;
Vous verrez les adresses IP, que vous pourrez ajouter à votre liste noire.&nbsp;
Ceci n'est pas fait automatiquement, parce que je crois en une certaine quantité de contrôle manuel du processus.&nbsp;
Par exemple, si vous, en tant que être humain, notez que vous avez bloqué 7 adresses commençant par 10.16.29, vous pouvez vouloir vous débarrasser de ces 7 règles et les remplacer par la règle unique 10.16.29.0/24.&nbsp;
Il y a un léger risque à le faire, puisqu'une adresse valide pourrait être nichée parmi tous ces sites spammeurs.&nbsp;
Mais c'est peu probable.&nbsp;
En fait, dans un excès de défiance, j'exclus parfois un bloc entier à deux octets.&nbsp;
C'est 65536 sites Web qui sont verrouillés hors de mon ordinateur, pour le mail ou la navigation.&nbsp;
Un peu excessif peut-être, mais je déteste vraiment toute cette saloperie de spam et de logiciels espions !
</p>
<p>
Si une de ces 65536 adresses s'avère être valide, employer un point d'exclamation pour inverser le sens, comme ceci.&nbsp;
</p>
<p>
10.5.33.177!
<br>
10.5.0.0/16
</p>
<p>
Consulter les numéros IP en temps réel peut ralentir le processus de récupération de courrier.&nbsp;
Vous pouvez neutraliser tout le processus, ou commentant la ligne « ipblack= » dans votre fichier de configuration.&nbsp;
</p>
<p>
Le filtrage IP ne fonctionne que pour les hyperliens.&nbsp;
Si un mail contient un formulaire de saisie en ligne qui renvoie à un site interdit, je ne le détecte pas.&nbsp;
Il le faudrait pourtant - car ce sont les mails les plus dangereux.&nbsp;
Ils se font passer pour votre banque, et envoient ensuite vos numéros de compte à un voleur en Russie.&nbsp;
Alors oui, cette forme de blocage d'IP, est sur ma liste de choses amusantes à faire.&nbsp;
</p>
<p>
Comme le filtrage de spams par mots-clés, le blocage d'IP n'est pas une panacée.&nbsp;
Par exemple, le plus stupide des spammeurs peut lancer une redirection HTTP à aucun coût.&nbsp;
Soudainement le domaine dans le mail ne reflète pas la destination réelle.&nbsp;
Je pourrais ajouter au logiciel la récupération du code HTML de la page et déterminer ainsi s'il y a redirection, mais cela ralentirait vraiment le processus interactif de courrier.&nbsp;
Par ailleurs, un spammeur peut employer Javascript pour construire l'URL de destination à la volée, et comme vous le savez, il n'y a aucune manière de prévoir les actions d'un programme Javascript et de prédéterminer l'URL de destination.&nbsp;
Et ainsi, la course aux armements continue, et comme dans le monde réel, les attaquants auront toujours le dessus.&nbsp;
</p>

<h3 align="center"> <a name="mailfmt"> Courrier formaté </a> </h3>

Par défaut, le courrier entrant est formaté pour la lisibilité.&nbsp;
Si vous voulez sauvarder une copie du courrier, exactement comme il a été reçu (non formaté), tapez « u » au message de sollicitation interactif.&nbsp;
Si vous ne voulez pas de formatage du tout, employer l'option « -u » à l'appel du programme sur la ligne de commande, comme dans « e -um1 ».&nbsp;
C'est parfois nécessaire, si un bogue dans ma routine de formatage fait planter edbrowse.&nbsp;
Vous pourrez toujours récupérer votre courrier, (et m'envoyer une copie afin que je puisse corriger le bogue), donc employez l'option « -u » pour annuler le formatage.&nbsp;

<p>
Quand un mail HTML est affiché, Javascript est désactivé.&nbsp;
Ainsi le courrier apparaît plus vite, et le client de courrier risque moins de se planter en raison d'un bogue dans la machinerie Javascript.&nbsp;
On ne perd pas grand-chose ici, parce que vous ne pourriez pas activer les liens ou compléter les formulaires, de toute façon.&nbsp;
Si vous voulez « interagir » avec ce mail, vous devez le sauvegarder non formaté dans un fichier, finir votre session mail, éditer ce fichier, et taper « b » pour naviguer dedans.&nbsp;
A ce moment l'affichage HTML sera actif, comme si vous regardiez une page Web sur un site internet.&nbsp;
</p>
<p>
Tout ceci n'est pas sans raison.&nbsp;
Quand vous lancez edbrowse en tant que client de récupération de courrier, il y a un délai, imposé par votre serveur pop3.&nbsp;
Vous avez environ 20 secondes pour décider du destin de chaque message.&nbsp;
Le supprimer, le sauter, le sauvegarder dans un fichier, etc.&nbsp;
Si vous hésitez trop longtemps, le serveur mail raccroche et il faut recommencer.&nbsp;
Ce n'est pas le moment d'interagir avec votre message ; ce n'est pas le moment de compléter des formulaires ou de suivre des hyperliens à d'autres sites Web.&nbsp;
Si vous êtes intéressé, sauvegardez le message dans un fichier et passez au suivant.&nbsp;

</p><p>
Cette question ne tracasse pas votre ami voyant, utilisant Outlook Express, parce que chaque message est sauvegardé dans un fichier automatiquement.&nbsp;
Quand il parcourt son courrier, il regarde en fait des fichiers transférés sur son ordinateur.&nbsp;
Il n'est pas au milieu d'une session pop3, et il n'y a aucun délai.&nbsp;
C'est peut être une meilleure approche ; Je ne sais pas.&nbsp;
Un jour prochain, il est possible que j'ajoute un dispositif pour récupérer tous vos messages et les sauvegarder dans votre répertoire de courrier.&nbsp;
Vous pourriez alors employer edbrowse en mode répertoire pour aller de fichier en fichier.&nbsp;
Personnellement, j'obtiens beaucoup de petits mail idiots, et des spam aussi, je préfère supprimer la majorité de mes messages en temps réel, et sauvegarder les quelques uns qui m'intéressent.&nbsp;
D'autres options de filtrage peuvent simplifier ce processus.&nbsp;
Par exemple, le courrier de mon amie Dorothy sera toujours sauvegardé dans un endroit particulier, parce que je veux toujours le lire à tête reposée.&nbsp;
Ceci est décrit dans la prochaine section.&nbsp;
</p>

<h3 align="center"> <a name="filter"> Filtrage de courrier </a> </h3>

Votre fichier de configuration supporte un filtrage modeste de courrier.&nbsp;
Vous pouvez réorienter le courrier entrant basé sur l'expéditeur, le récepteur, ou le sujet.&nbsp;
Ces paramètres sont établis dans votre fichier de configuration.&nbsp;
Une règle de filtrage de courrier a la forme :
<p>
chaîne de comparaison &gt; fichier de destination
</p>
<p>
En fait &gt; est quelque peu trompeur.&nbsp;
Si le fichier existe, le mail est ajouté à la fin; le fichier n'est pas tronqué.&nbsp;
Il aurait peut-être fallu employer &gt;&gt;,
mais je ne veux pas m'agacer avec ce signe supérieur supplémentaire.&nbsp;

</p><p>
Le fichier de destination est interprété relativement au répertoire de courrier, défini dans votre fichier de configuration.&nbsp;
Naturellement vous pouvez définir un chemin absolu si vous le souhaitez.&nbsp;
</p>
<p>
Une règle de filtrage de courrier s'active toujours dans le contexte d'un bloc de filtrage.&nbsp;
Par exemple, si vous souhaitez réorienter le courrier de certaines personnes, faites ceci :
</p>
<pre><font face="Arial,Helvetica,sans-serif" size="3">fromfilter {
fred flintstone &gt; fredmail
fred.flintstone@bedrock.us &gt; fredmail
jerk@hotmail.com &gt; x
word@m-w.com &gt; -wod
}
</font></pre>

<p>
Vous pouvez indiquer le nom de l'expéditeur, ou son adresse mail.&nbsp;
Ce n'est pas une mauvaise idée de faire les deux, au cas où il enverrait le courrier d'un autre compte etc.&nbsp;
</p>
<p>
Noter que je n'ai pas mis Fred Flintstone en majuscules.&nbsp;
Les comparaisons sont insensibles à la casse.&nbsp;
</p>
<p>
Le nom de fichier « x » est spécial ; il met le courrier à la poubelle.&nbsp;
Utilisez-le pour supprimer le courrier des personnes qui vous harcèlent constamment, ou envoient des spams.&nbsp;
</p>
<p>
La dernière ligne envoie le courrier à « -wod ».&nbsp;
L'en-tête « - » est spéciale ; elle signifie que le courrier va être sauvegardé dans le fichier « wod » non formaté.&nbsp;
Précisément, c'est le mot du jour de Merriam Webster.&nbsp;
Je le sauvegarde non formaté, ainsi je peux le parcourir et cliquer sur {audio} pour entendre le mot.&nbsp;
Si un mail contient des hyperliens, sauvegardez-le non formaté, ainsi vous pourrez le consulter plus tard.&nbsp;
</p>
<p>
Vous pouvez également filtrer le courrier sur le champ « to: ».&nbsp;
C'est utile si vous avez plusieurs comptes, ou des alias qui redirigent le courrier sur votre compte primaire.&nbsp;
Voici un bloc témoin :
</p>
<pre><font face="Arial,Helvetica,sans-serif" size="3">tofilter {
support@my-side-business.com > appui
sales@my-side-business.com > ventes
@my-side-business.com > affaires
me@my-regular-dayjob.com > travail
}
</font></pre>

<p>
La troisième entrée est une adresse de capture, sauvegardant n'importe quel courrier envoyé à ce domaine.&nbsp;
Puisque les règles sont appliquées dans l'ordre, des demandes d'appui sont stockées dans un fichier appelé « appui », les ventes sont stockées dans un fichier appelé « ventes », et tous les autres mails envoyés au travails seront stockés dans « affaires ».&nbsp;
</p>
<p>
Vous pouvez également employer des adresses de capture dans le bloc « fromfilter ».&nbsp;
Quelque chose de ce domaine va ici, etc.&nbsp;
</p>
<p>
Vous pouvez filtrer sur le sujet, en utilisant le bloc « subjfilter{…} ».&nbsp;
Ceci peut stopper un virus.&nbsp;
Si un virus utilise un sujet du genre de « viens m'embrasser », envoyez « viens m'embrasser » à x, et il a disparu.&nbsp;
</p>
<p>
Vous pouvez également employer ce dispositif pour bloquer les avertissements de fournisseurs d'accès internet, se plaignant que vous leur avez envoyé des mails infectés par des virus.&nbsp;
Vous non, naturellement, parce que vous êtes linux.&nbsp;
Vous êtes immunisé ! Votre adresse de réponse a été récupérée, et vous recevez donc l'avertissement de virus, mais vous n'en avez vraiment rien à faire.&nbsp;
Les lignes comme celle-ci peuvent éliminer ces faux avertissements.&nbsp;
</p>
<p>
subjfilter {
<br>
Viens m'embrasser &gt; x
<br>
Net Integrator Virus Alert &gt; x
<br>
}
</p>
<p>
Pour finir, l'adresse de réponse est recherchée dans votre carnet d'adresses.&nbsp;
Si elle est trouvée, le courrier est archivé dans un fichier dont le nom est l'alias de l'adresse.&nbsp;
Considérons une ligne de votre carnet d'adresses qui pourrait ressembler à ceci : « fred : Fred.Flintstone@SomeDomain.com ».&nbsp;
Quand vous recevez un mail de cette adresse, elle est sauvegardée dans le fichier fred.&nbsp;
Ainsi vous n'avez pas besoin d'écrire des entrées superflues dans le filtre.&nbsp;
Il n'y a aucun besoin d'inclure Fred.Flintstone@SomeDomain.com &gt; fred.&nbsp;
</p>
<p>
Si vous voulez sauver le courrier de Fred non formaté, placer un signe moins, c'est-à-dire « -fred », dans votre carnet d'adresses.&nbsp;
C'est la même convention que celle du filtre « from: ».&nbsp;
Si vous ne voulez pas que le courrier de Fred soit réorienté, mais que vous voulez toujours employer le surnom fred à l'envoi de courrier, placez un point d'exclamation au début, c'est-à-dire !fred.
</p>
<p>
Notez que le filtrage de courrier se produit avant la détection de spams.&nbsp;
Ainsi le courrier de votre ami, ou professionnel, sera toujours archivé dans un fichier, même s'il référence un site Web interdit.&nbsp;
</p>
<p>
Si un mail est redirigé sur un fichier, et qu'il possède des pièces jointes, edbrowse demandera que faire avec ces pièces jointes, comme si vous aviez employé la commande « w » pour sauvegarder le courrier.&nbsp;
Si votre ami vous a envoyé un programme (en pièce jointe) qu'il veut que vous regardiez, tapez simplement la touche entrée pour la sauvegarder sous le nom de fichier par défaut.&nbsp;
Si le courrier de votre ami a un certain genre de logo, ou un fond d'image, qui ne vous intéresse pas, tapez « x » et le mail disparaîtra.&nbsp;
Si l'image a un suffixe reconnaissable, tel que GIF, je le jette automatiquement.&nbsp;
Si vous voulez vraiment ces images, vous devez sauvegarder le mail non formaté, et le consulter plus tard.&nbsp;
</p>
<p>
A la consultation d'un mail dans l'éditeur, edbrowse vous permet
de récupérer toutes les pièces jointes, que ce soit des images
ou non. Vous pouvez ignorer une pièce jointe particulière en tapant x, et toutes les pièces jointes en tapant X majuscule.
</p>
<p>
Employez l'option « -p » pour désactiver les filtres, comme dans « e -pm1 ».&nbsp;
Ceci désactive aussi la détection de spams.&nbsp;
Je l'ai implémenté en regardant le courrier d'autres personnes, tel celui de mon épouse.&nbsp;
Je ne veux pas que son courrier parte n'importe où parce qu'il correspond à l'une des règles de mon filtre.&nbsp;
</p>

<h3 align=center> <a name="reply"> Réponse au courrier </a> </h3>

La commande "re" prépare un courriel pour la réponse. La ligne "Reply to"  (Répondre à) qui doit exister est déplacée vers le haut. Celle-ci contient l'adresse e-mail à laquelle vous allez répondre, et elle est créée lorsque vous consultez votre e-mail. Si cette ligne n'est pas présente, la commande "réponse" échouera.

<p>La ligne "Subject:" (sujet) doit également être présents. Elle aussi aussi est créée lorsque le courrier est formaté (consulté). Après que la commande "re" ait été tapée, le sujet peut être déplacé en bas de page, pour faire de la place à d'autres en-têtes de courriel, comme suit.</p>
<p>Si ce message vient d'être lu, et si des données non formatés existent encore dans l'actuelle session edbrowse, re va chercher le numero d'identification du message d'origine. Celui-ci devrait être mentionné dans la réponse. La ligne pourrait ressembler à ceci.</p>
<p>
Reply to somebody@foo.bar.com <br>
references: <4387A55E6AF43C4F9830C74EFECE9132022D0638@foo-bar.net><br>
Subject: qu'est-ce qu'il y a ?
</p>
<p>Vous n'aurez pas à corriger, modifier ou supprimer la ligne référence. Laissez-là telle quelle. Si vous participez à une liste de discussion, cette ligne est importante. Elle indique au serveur que votre réponse est effectivement une réponse, et qu'elle devrait être liée au message référencé. En utilisant cette information, le serveur entretient les fils de discussion. Si vous supprimez cette ligne avant d'envoyer votre réponse, vous allez créer un nouveau fil de discussion, et ce qui ne fera que désorienter et perturber les autres participants. Alors - si vous devez répondre à un message sur une liste de discussion, prenez le temps de le sauver non formaté, le consulter, puis y répondre. Laissez la ligne Références, éditez le corps du message, ajoutez vos commentaires, et envoyez.</p>
<p>Parfois, la ligne références aura deux identifiants séparés par un espace. Le premier est le début du fil de discussion, le message qui a débuté ce sujet, et le second est le commentaire auquel vous répondez directement. Encore une fois, cela contribue à l'organisation des messages par les serveurs de listes de discussion.</p>
<p>La commande "rea" signifie répondre à tous, et utilise de la même façon les en-têtes du courriel original. Tous les destinataires s'affichent en haut de votre fichier. Certains seront indiquées par cc, s'ils étaient en copie carbone. Vous pouvez supprimer un de ces destinataires avant d'envoyer votre réponse. Bien sûr, vous ne voudrez probablement pas supprimer la première ligne, car c'est la réponse au premier expéditeur.</p>
<p>Notez que la commande "re" sort du mode navigation, et transforme le fichier en un fichier texte simple. Ce qui permet l'édition de texte, de rédiger votre réponse dans le corps du message. Si vous voulez recommencer à partir de zéro, vous ne pouvez pas juste quitter le mode navigation, parce que vous n'êtes pas en mode navigation. Vous devez ré-éditer le message de courrier sauvegardé, le consulter en mode navigation, et y répondre.</p>
<p>Comme tout le reste dans edbrowse, vous  vous habituerez à utiliser ce qui précède une fois que vous aurez commencé.</p>

<h3 align="center"> <a name="sqlb"> Compiler Edbrowse avec accès aux bases de données </a> </h3>

Si vous tapez simplement « make », vous obtenez edbrowse, sans interface base de données.&nbsp;
Deux autres cibles de compilation permettent l'accès aux bases de données.&nbsp;
Lancer «make edbrowseodbc » ou « make edbrowseinf ».&nbsp;
Le premier utilise odbc pour accéder à toute base de données SQL, et le deuxième utilise l'interface d'Informix.&nbsp;
Si vous voulez tester l'interface odbc, ou écrire une nouvelle interface, par exemple pour Oracle ou mysql, je vous serai éternellement reconnaissant.&nbsp;
Vous devrez mettre en application l'interface décrite dans « dbapi.h », en utilisant la trousse à outils de développement de base de données de C fournie par le vendeur.&nbsp;
La manière la plus facile de procéder est copier un des deux fichiers qui est déjà là, dbinfx.ec ou dbodbc.c, et de faire des changements selon les besoins.&nbsp;

<h3 align="center"> <a name="rtb"> Lire les tables </a> </h3>

Quand un nom de fichier est d'un certain format, avec http:// en tête, il est considéré être une URL.&nbsp;
Edbrowse ne cherche pas le fichier sur votre ordinateur ; il sort sur l'Internet.&nbsp;
De même, quand le nom de fichier a un certain format, on suppose que c'est une table ou une vue dans la base de données.&nbsp;
Si vous avez une table appelée clients, vous l'appelez avec une parenthèse droite.&nbsp;

<p>
e clients]<br>
Ceci permet de récupérer la table entière, ou des parties, un enregistrement par ligne, avec des champs délimités par des pipes (caractère « | »).&nbsp;
Si le résultat ressemble à un groupe de nombres et de pipes, et que vous avez oublié la structure de la table, tapez « sc » (show colums).&nbsp;
L'affichage pourrait ressembler à ceci:
</p>
<pre><font face="Arial,Helvetica,sans-serif" size="3">Table clients 536281 rows
1 *numero int
2 prenom string
3 nom string
4 date_de_naissance date
5 sexe char
6 email string
7 image blob
</font></pre>

<p>
La première colonne est un numéro unique qui indique ce client particulier.&nbsp;
Après tout, deux clients pourraient avoir les mêmes prénom, nom, et date de naissance.&nbsp;
Les numéros sont toujours une bonne idée, et ils constituent habituellement la clef primaire.&nbsp;
Ceci est indiqué par le caractère « * », juste avant le nom de colonne.&nbsp;
Si edbrowse modifie ou supprime un enregistrement, la clef primaire est employée.&nbsp;
Je suppose que, à tout moment, la clef détermine un enregistrement unique dans la base de données, et que chaque enregistrement apparaît au plus une seule fois en session d'édition.&nbsp;
</p>
<p>
Noter que edbrowse peut supporter une clef primaire sur deux colonnes, telles qu'un numéro de série et un modificateur.&nbsp;
J'ai quelques tables au travail qui fonctionnent comme ceci.&nbsp;
</p>
<p>
La syntaxe des tables est davantage qu'un nom et une parenthèse droite.&nbsp;
Vous pouvez faire suivre la parenthèse droite avec la clause « where ».&nbsp;
C'est important si vous ne voulez pas afficher la table entière, surtout s'il y a des millions d'enregistrements.&nbsp;
Voici quelques commandes de table et leurs significations.&nbsp;
</p>
<p>
clients]<br>
Établir le tampon pour la table de clients, mais sans récupération d'enregistrements.&nbsp;
</p>
<p>
clients]*<br>
Récupérer tous les enregistrements de la table.&nbsp;
</p>
<p>
clients]37<br>
Chercher le client dont le numéro de série est 37.&nbsp;
La clef primaire est assumée ; votre table doit avoir une clef primaire si vous voulez employer cette syntaxe.&nbsp;
</p>
<p>
clients]1=37<br>
Chercher l'enregistrement dont la première colonne est 37.&nbsp;
</p>
<p>
clients]37-59<br>
Chercher les clients dont les numéros de série sont compris entre 37 et 59.&nbsp;
</p>
<p>
clients]2=Joe<br>
Chercher les clients dont le prénom est Joe.&nbsp;
</p>
<p>
clients]prenom=Joe<br>
idem : chercher les clients ont le prénom est Joe.&nbsp;
</p>
<p>
clients]pre=Joe<br>
Idem.&nbsp;
Si la chaîne correspond à un unique nom de colonne, cela fonctionne.&nbsp;
</p>
<p>
clients]nom=arn*<br>
Chercher les clients dont les noms commencent par « arn ».&nbsp;
</p>
<p>
clients] date_de_naissance=01/01/1960-31/12/1960<br>
Chercher les clients qui sont nés en 1960.&nbsp;
</p>
<p>
Il est parfois préférable pour éditer les enregistrements de commencer avec une grille vide, c'est-à-dire sans clause « where ».&nbsp;
Vous pouvez lire ainsi dedans les enregistrements qui vous intéressent.&nbsp;
Tapez un « r » avant les commandes ci-dessus pour lire des enregistrements dans votre tampon.&nbsp;
Noter, vous ne pouvez pas lire des données de différentes tables dans le même tampon, mais vous pouvez commuter sur une autre session d'édition pour consulter une autre table, sans perdre les données sur lesquelles vous travaillez.&nbsp;
</p>
<p>
En lisant des lignes dans le tampon, vous pouvez omettre le nom de table, puisque ce doit être des clients] à chaque fois.&nbsp;
Ainsi, vous pouvez récupérer le client #738 en tapant « r clients]738 » ou « r 738 ».&nbsp;
</p>
<p>
Si vous voulez une grille propre, Tapez « rf » pour régénérer le tampon.&nbsp;
Ceci vous ramène de nouveau à une grille vide pour la table, sans les rangées.&nbsp;
AVERTISSEMENT – n'effacez pas votre tampon en supprimant toutes les rangées, cela supprimera les entrées correspondantes dans la base de données.&nbsp;
Ce dispositif fonctionne juste comme le mode répertoire – vos modifications sont traduites en actions réelles, aussi faites attention.&nbsp;
L'intégrité référentielle vous sauvera habituellement de ce désastre accidentel, si vous employez d'habitude ce dispositif SQL pour relier des tables entre elles, ce qui est une bonne idée à bien des égards.&nbsp;
</p>
<p>
Maintenant, que dire à propos de la septième colonne de notre exemple, celui qui est appelé « image » ? C'est l'image du client, une image jpg qui est binaire, et ne peut pas être facilement placée dans une session d'édition.&nbsp;
Au lieu de cela, elle est stockée dans un autre tampon, par exemple le tampon 9, et ceci est indiqué par &lt;9&gt;.&nbsp;
Vous pouvez commuter à la session 9 et sauvegarder le fichier, ou le jeter.&nbsp;
</p>
<p>
2139|Fred|Flintstone|08/21/1969|M|foo@bar.bar.com|&lt;9&gt;
</p>
<p>
Pour travailler sur la base de données, votre fichier de configuration doit indiquer le nom de la base de données, le nom d'utilisateur, et le mot de passe.&nbsp;
(Les deux derniers peuvent parfois être omis, s'ils sont inférés de votre identité sur l'ordinateur).&nbsp;
Voici comment la ligne pourrait ressembler si vous vous connectez sur la base de données « ventes », qui contient la table « clients »
</p>
<p>
database = ventes, nom utilisateur, mot de passe
</p>
<p>
Bien que ceci ne puisse pas être modifié à la volée, vous pouvez accéder à d'autres bases de données à travers celle-ci.&nbsp;
Par exemple, vous pouvez lire la table « pièces » dans la base de données « nventaire » par appel de « inventaire:pièces] ».&nbsp;
C'est la syntaxe standard de SQL pour accéder aux tables d'une autre base de données.&nbsp;
</p>

<h3 align="center"> <a name="insupd"> Insertion, mise à jour, effacement </a> </h3>

Ajouter des enregistrements à une base de données est essentiellement différent de l'ajout de texte.&nbsp;
Puisqu'une rangée peut contenir une douzaine de champs, et que vous pouvez ne pas vous rappeler qu'est-ce qui va où, edbrowse vous interroge pour chaque champ séparément.&nbsp;
Il vérifie également l'intégrité de chaque champ dès que vous en sortez, par exemple une date doit ressembler à jj/mm/aaaa etc.&nbsp;
Si une rangée ne peut pas être ajoutée en raison d'une erreur de la base de données, edbrowse affiche l'erreur, et la saisie de données continue, vous donnant une chance de réintroduire la rangée.&nbsp;
La saisie de données s'arrête quand vous entrez un point seul, quelque soit le champ dans lequel vous êtes.&nbsp;
Les rangées qui ont été écrites avec succès seront présentes dans votre tampon, et la ligne courante est la dernière ligne écrite.&nbsp;
Noter que les données binaires (blobs) ne peuvent pas être entrées à ce stade.&nbsp;
<p>
Employer la commande remplacement pour mettre à jour une rangée.&nbsp;
S'assurer que vous n'avez pas accidentellement ajouté ou effacé un caractère pipe.&nbsp;
Des colonnes d'index primaire ne peuvent être modifiées.&nbsp;
Si vous mettez à jour beaucoup de rangées avec une commande, en spécifiant un intervalle ou par « g//s », et si une erreur se produit pendant la mise à jour, la substitution s'arrête là.&nbsp;
La session d'édition reflétera la base de données, avec quelques rangées modifiées et d'autres intactes.&nbsp;
Il y a beaucoup de causes d'erreurs de mise à jour, par exemple une erreur de type (un nombre entier dans un champ de date), un non respect des contraintes (J pour le sexe, au lieu de M ou de F).&nbsp;
Si on demande votre avis dans la conception d'une base de données, appliquez des contraintes partout où elles ont du sens. Elles vous protégeront contre les substitutions incorrectes, lesquelles produiraient des mises à jour inconsistentes.&nbsp;
</p>
<p>
La suppression fonctionne exactement comme attendu ; supprimer une rangée, et l'entrée correspondante disparaît.&nbsp;
Il n'y a pas de commande « défaire ».&nbsp;
Ce serait impossible, puisque vous avez pu ne sélectionner qu'une partie de la rangée (voir ci-dessous), et je n'aurais pas toutes les données pour reconstituer la rangée.&nbsp;
Comme mentionné auparavant, l'intégrité référentielle devrait être utilisée partout où c'est possible.&nbsp;
Comme dernier contrôle, je vous autorise à ne supprimer que 100 rangées à la fois.&nbsp;
Soyez prudent, et faites des sauvegardes régulières.&nbsp;
</p>

<h3 align="center"> <a name="td"> Descripteurs de tables </a> </h3>

Supposez qu'une table contient 100 champs.&nbsp;
Afficher tous ces champs serait pénible, c'est le moins qu'on puisse dire.&nbsp;
Parfois vous êtes intéressé par un groupe de 6 champs, et parfois vous êtes intéressé par un autre groupe de 8.&nbsp;
Vous pourrez établir des tables virtuelles, semblables aux vues, dans votre fichier de configuration.&nbsp;
Le nom court est un alias, et vous pouvez appeler la table en utilisant cet alias.&nbsp;
Elle contiendra seulement les colonnes que vous indiquez.&nbsp;
Voici deux descripteurs pour la table mentionnée ci-dessus de clients.&nbsp;
<pre><font face="Arial,Helvetica,sans-serif" size="3">table {
  tname = clients
# cnm est mon nom de code pour la table clients
# je le code, parce que je vais le taper souvent.&nbsp;
  tshort = cnm
  cols = numero, prenom, nom
# indique la clef primaire, dans ce cas-ci, la première colonne choisie.&nbsp;
  keycol = 1
}

table {
  tname = clients
# tout ce que je veux ici, c'est le numero de client et sa date de naissance.&nbsp;
  tshort = cbd
  cols = date_de_naissance, numero
  keycol = 2
}
</font></pre>

<p>
En insérant un enregistrement dans un de ces descripteurs, rappelez-vous que ce n'est qu'un sous-ensemble des colonnes de la table.&nbsp;
Les autres colonnes seront nulles, ou elles prendront les valeurs par défaut définies dans le schéma de table.&nbsp;
Si vous recevez une erreur « Not-Null », elle pourrait être due à une des autres colonnes, qui exige une valeur.&nbsp;
Il est habituellement plus sûr d'insérer un enregistrement en utilisant la table complète.&nbsp;
</p>

<h3 align="center"> <a name="end"> Conclusion </a> </h3>

Ceci conclut le guide de l'utilisateur.&nbsp;
Comme vous pouvez voir, edbrowse est un programme difficile à maîtriser, mais facile à employer.&nbsp;
Je crois que c'est la clef du succès pour n'importe quel utilisateur ou programmeur aveugle.&nbsp;
On peut certainement coller un lecteur d'écran sur un programme bi-dimensionnel existant tel que emacs ou lynx, s'en sortir et travailler rapidement, mais pour être vraiment efficace au travail, ou à la maison, vous avez besoin d'une
 interface en ligne de commande.&nbsp;
Edbrowse est une étape importante dans cette direction.&nbsp;
Il ne contrôle pas de synthétiseur de parole, ou d'autres applications communes telles que des tableurs, des logiciels financiers, ou des systèmes audio, mais il fournit un éditeur de texte de qualité, un navigateur et un client de courrier décents.&nbsp;
C'est un bon début.&nbsp;

<p>
<a href="#top">Retour au début</a>
</p>
</body>
</font>
</html>