Installer et configurer un serveur ProFTPd

D’abord, installer Debian, puis installer et paramétrer ProFTPd pour servir dans un contexte scolaire avec authentification des utilisateurs par LDAP.

ProFTPd sur Debian 12 netinstall

Introduction

  1. Télécharger et installer une distribution Debian
  2. Mettre à jour la distribution et installer les paquets proftpd
  3. Configurer ProFTPd
  4. Créer un utilisateur
  5. Tester la configuration

1a. Télécharger

Depuis cette page : https://www.debian.org/distrib/ sélectionner Une image d’installation de taille réduite

soit la version netinstall. Sous Linux, ouvrir un terminal et télécharger avec l’outil wget :

wget https://cdimage.debian.org/debian-cd/current/i386/iso-cd/debian-12.1.0-i386-netinst.iso

Sous Windows, essayer wget dans le PowerShell : c’est un alias de la commande Invoke-WebRequest, ou encore en mode graphique avec le logiciel open source Free Download Manager.

1b. Installer

Nous devons dimensionner l’installation en fonction de l’objectif de stockage, et des ressources : puissance processeur et mémoire système. Par exemple, attribuer au serveur un espace de 30 Go avec 8 Go de RAM sur un serveur physique évolutif pouvant recevoir des espaces de stockage supplémentaires pour les données statiques.

Une installation de test est réalisée en machine virtuelle.

Pour une installation sur un ordinateur dédié, il sera possible de s’y connecter directement, ou en SSH moyennant l’installation du paquet openssh-serveur, par une authentification login/mot de passe, ou par la mise en place de clés SSH.

Pour ce test le mot de passe est rootroot (à ne surtout pas faire en production).

De même l’utilisateur créé se nomme mainadmin et, toujours pour cette installation de test uniquement, son mot de passe est mainadmin.

Pour tout ce qui est mise en production les mots de passe seront générés et stockés dans une base de données par un logiciel de gestion de mots de passe (par exemple avec le logiciel KeepassXC).

L’outil de partitionnement assisté propose de séparer certains répertoires. C’est à considérer dans la mesure où cela peut permettre de mieux gérer les espaces de stockage, en particulier pour les répertoires var, qui peut se retrouver plein si les logs s’accumulent trop (même si des stratégies de rotation de logs existent).

Voici un plan de partitionnement possible :

[—Système 30 Go—][—point de montage /var 20 Go—][—montage var/www 200 Go—][— /home 15 Go]

De plus, cela pourra être installé sur un volume LVM permettant au besoin de redimensionner les partitions à la volée, le tout sur une table de partitions GPT pour pouvoir installer des périphériques de stockages dotés de volumes supérieurs à 2,2 To, et de créer autant de partitions que souhaitées (limitées à 128 partitions ça laisse de la marge – https://fr.wikipedia.org/wiki/GUID_Partition_Table).

2. Mettre à jour et installer les paquets proftpd

Après l’installation du système, mise à jour des sources puis des paquets et installation de ProFTPd avec les dépendances que nous souhaitons.

Ce qui est proposé :

Paquets suggérés : openbsd-inetd | inet-superserver proftpd-mod-ldap proftpd-mod-mysql proftpd-mod-odbc proftpd-mod-pgsql proftpd-mod-sqlite proftpd-mod-geoip proftpd-mod-snmp proftpd-mod-crypto proftpd-mod-wrap

Ne connaissant pas tous les paquets je procède rapidement à une recherche avec « apt-show <paquet> » pour décider de ce que j’ajoute.

Par exemple, « apt show libmemcached11 » fournit un ensemble d’informations (plus ou moins compréhensibles 😂 ) dont l’URL vers memcached.org où il est écrit que c’est « un système de mise en cache d’objets à mémoire distribuée ».

Dans la liste des paquets suggérés on peut choisir certains composants pour le besoin spécifique de la structure : le mod-ldap si on veut l’intégrer à l’AD, choisir entre MySQL ou PosGreSQL etc.

Les choix pour cette installation :

proftpd, proftpd-mod-ldap, proftpd-mod-mysql, proftpd-mod-geoip, proftpd-mod-snmp

3. Configurer ProFTPd et sftp

Le fichier de configuration fourni comporte de nombreuses possibilités. Voici les choix réalisés pour notre cas de figure, en se basant sur ceux fournis par le site du projet ainsi que d’autres bon tutoriels.

3a. proftpd.conf

Rendons-nous sous « /etc/proftpd » puis passons en mode administrateur root. Nous y trouvons le fichier proftpd.conf, que nous modifierons avec un éditeur de textes.

En détail : pour éviter que nos configurations soient écrasées lors de mises à jour ultérieures nous copions les fichiers que nous devons éditer dans le sous-répertoire /etc/proftpd/conf.d.

/!\ Toute directive non fournie par le fichier de configuration, mais présentée dans des documentations récentes peut généralement être ajoutée dans le fichier de configuration personnalisé.

– Copier le fichier dans le sous-répertoire conf.d, changer de répertoire, et ouvrir le fichier en mode édition. Passer en mode administrateur root pour ces différentes opérations.

Le signe ‘#’ devant les lignes de commandes signifie qu’on est dans un environnement root, et ne doit pas être confondu avec le même signe ‘#’ dans les fichiers de configuration, qui lui, signale un commentaire non pris en compte par le système
# cp /etc/proftpd/proftpd.conf /etc/proftpd/conf.d/
# cd /etc/proftpd/conf.d/
# vim proftpd.conf        //  éditeur au choix, vim, nano, mc…
Il est aussi possible de renommer le fichier de configuration lorsqu’il est installé dans le sous-répertoire conf.d. du moment qu’il porte l’extension « .conf », comme « proftpd-ecoles.conf » ou autre.

– Changer le nom du serveur

Figure 1: On change la variable pour ServerName en MAIN

– Choisir le type de serveur (ici ligne 20)

ServerType standalone

C’est un choix adapté à un usage par de nombreux utilisateurs, (contrairement à inetd ou xinetd).

Il est possible de changer par la suite, en installant le paquet inetd et en configurant les fichiers proftpd.conf et inetd.conf (situés sous /etc/proftpd pour le premier et sous /etc pour le second).

– Confiner les utilisateurs dans le répertoire qui leur est assigné (ligne 39)

DefaultRoot ~

Autre choix possible : indiquer un nom de groupe que nous créons spécialement, plutôt que l’emplacement du répertoire personnel par défaut, auquel cas tous les membres de ce groupe pourront accéder au même répertoire. (Non pertinent si on veut créer plusieurs groupes).

Cela dépend de l’architecture que nous voulons construire. Par exemple créer des groupes pour l’usage des enseignants dans une école, (oui, il y a des méthodes de partages de fichiers plus adaptées, mais c’est juste un exemple) 1 par école, tant dans l’AD que dans le serveur ProFTPd, assigner les utilisateurs à ces groupes en fonction de leur affectation à l’une ou l’autre des écoles.

– Configuration du port

* Ligne 46, nous désactivons le port par défaut, qui sera configuré dans le fichier sftp.conf.

# Port 21

* Ligne 148 nous décommentons la ligne Include /etc/proftpd/sftp.conf

3b. sftp.conf

* Nous copions un fichier sftp.conf dans conf.d pour l’adapter à nos besoins.

Traduction des lignes 4 à 6 du fichier:

# Une fois activé, vous pouvez même désactiver le support du serveur sftps
# de OpenSSH sur le port 22
# Pour faire cela, commentez la ligne
# Subsystem sftp /usr/lib/openssh/sftp-server
# dans /etc/ssh/sshd_config et redémarrez le service.

Nous éditons le fichier /etc/ssh/sshd_config comme indiqué ci-dessus, car c’est pertinent dans notre contexte, et parce que tout service fonctionnant sans nécessité est une source de faille potentielle.

Dans le sftp.conf à nouveau, sous <IfModule mod_sftp.c> (ligne 9) on décommente les 3 lignes suivantes:

SFTPEngine     on
Port           2222
SFTPLog        /var/log/proftpd/sftp.log

La suite du fichier concerne des clés SSH, une méthode d’authentification qui nécessite la création de clés de chiffrement, à réserver aux administrateurs.

Pour les utilisateurs nous préférons la méthode login/mot de passe en passant par LDAP (avec Active Directory ou avec le logiciel libre UCS/Univention, par exemple) pour uniformiser les accès pour chaque utilisateur.

Pour cette raison, après la ligne #SFTPAuthMethods publickey nous ajoutons:

SFTPAuthMethods password

C’est tout pour ce fichier.

Référence : https://blog.victor-hery.com/2019/03/installer-sftp-proftpd.html

3c. Retournons dans l’édition du fichier proftpd.conf

À la ligne 46, nous avions commenté le Port 21 puisque configuré dans sftp.conf, avec le port 2222. (N’importe quel port peut lui être attribué tant que ce n’est pas un port réservé, cf. IANA.ORG).

– Permissions fichiers et répertoires

À la ligne 78 nous trouvons le Umask:

Umask 022 022 (Fichiers/Répertoires)
Les permissions par défaut étant 666 sur les fichiers et 777 sur les répertoires, nous ôtons 22 à chacun pour obtenir 644 755.

Le Umask 022 donnt les droits de lecture et d’écriture sur les fichiers pour le propriétaire et lecture uniquement pour le groupe et les autres.

Le même Umask sur les répertoires ajoute les droits d’accès pour tous. (Le droit d’exécution étant en fait un droit d’accès quand il s’applique à des répertoires).

– Authentification par LDAP

À la ligne 82 et 83 (en bas sur la capture d’écran) nous pouvons configurer le serveur SFTP pour s’authentifier par LDAP sur l’Active Directory:

Nous pouvons le laisser de côté pour l’instant et le configurer plus tard une fois que l’AD et les différents services seront déjà mis en place, l’important étant de pouvoir déjà le tester avec un premier utilisateur.

Si nous choisissons d’utiliser l’authentification LDAP pour se connecter au serveur SFTP, nous devrons également décommenter la ligne 137:

#Include /etc/proftpd/ldap.conf

et configurer le fichier ldap.conf.

Nous serons aussi intéressés par les fonctionnalités suivantes:

  • dnsbl (blacklisting par le DNS)
  • geoip (pour utiliser un anti-spam basé sur la géolocalisation)

Mais pas tout de suite : comme pour l’accès par LDAP, cela pourra se faire dans un second temps. Le fichier /etc/proftpd/modules.conf devra alors aussi être configuré, pour permettre le chargement des modules correspondants.

Dans la mesure où nous gérons l’ensemble des utilisateurs à travers une structure Active Directory, nous serons amenés à créer un groupe dédié pour l’accès au serveur SFTP.

Nous pourrons choisir de créer un accès individuel pour chaque enseignant, ou un accès commun pour chacune des 7 écoles, par exemple, puisque nous gérerons des regroupements scolaires.

Cela implique une logique dans la mise en commun de documents éducatifs, qui seront pertinents pour des classes de niveaux proches, en même temps qu’une simplification de la gestion des comptes : lorsqu’un compte sera créé, il sera ajouté au bon groupe, et lorsqu’il sera supprimé, il suffira de l’enlever du ou des groupes auxquels il est affecté.

4. Créer un utilisateur

Je souhaite maintenant créer un utilisateur pour tester la configuration. Bien sûr j’ai déjà un utilisateur de type Unix (utilisateur du système) que je pourrais utiliser pour tester.

Le but est de pouvoir créer des utilisateurs indépendants du système (non Unix) pour les gérer séparément, pour cette raison l’utilisateur déjà créé ne sera pas utilisé pour le test d’accès.

Nous allons créer deux nouveaux fichiers sous /etc/proftpd :

  • ftpd.passwd
  • ftpd.group

nous devrons passer des lignes de commandes pour créer l’utilisateur, son répertoire, son UUID, et le restreindre à l’accès au serveur FTP.

Pour ce dernier point, afin que les utilisateurs ne puisse pas se connecter au système d’exploitation proprement dit, nous allons ajouter /bin/false dans la liste du fichier /etc/shell.

# /etc/shells: valid login shells
/bin/sh
/bin/bash
/bin/rbash
/bin/dash
/bin/false

(false est un binaire qui ne fait rien : voir « man false »)

Premier utilisateur virtuel imaginaire, Bernard Dubois, abrégé en bdubois. Le groupe sera nommé groupe_zola pour l’école Emile Zola (toute ressemblance avec une école existant ou ayant existé serait une pure coïncidence).

Une particularité sous Debian, comme dans certaines autres distributions, certaines commandes ne sont pas dans le $PATH : le chemin des executables. La commande echo $PATH en simple utilisateur, ou après être passé en mode root avec la commande su liste les répertoires du chemin des exécutables, le répertoire /sbin n’en fait pas partie.

La conséquence c’est qu’on n’aura aucun résultat si on envoie la commande ftpasswd dans la console, sans être dans un environnement root complet.

Pour passer « full root », nous invoquons ‘su -’.

Install Proftpd 7

Et nous créons le dossier home qui lui correspond (mkdir /home/bdubois) puis le premier utilisateur avec l’UID 1002 et ainsi de suite.

$ su -
# ftpasswd --passwd --name=bdubois --uid=1002 --file=/etc/proftpd/ftpd.passwd--home=/home/bdubois --shell=/bin/false

(Le \ en fin de ligne indique à l’interpréteur d’ignorer le saut de ligne qui suit, il considérera donc la ligne suivante comme la continuation de celle-ci. Cette astuce permet de découper une longue ligne en plusieurs lignes plus courtes, pour en améliorer la lisibilité).

Le shell demande un mot de passe. Ici, c’est 123azeqsd pour bdubois

Ensuite, nous créons le groupe groupe_zola et lui assignons l’utilisateur bdubois.

ftpasswd --group --name=groupe_zola --gid=1100 –file=/etc/proftpd/ftpd.group --member=bdubois

RESTE À FAIRE

Comment créer un accès :

configurer le répertoire de stockage pour le groupe auquel l’utilisateur appartient, lui fournir un fichier de test

passer en mode bridge, configurer une adresse IP statique

Comment configurer des quotas (ex : 200 Go, garder 5% de réserve sur le stockage)

Démarrer les services : Tester depuis Virtualbox/VMware

http://www.proftpd.org/docs/configs/basic.conf

https://fr.wikibooks.org/wiki/Administration_r%C3%A9seau_sous_Linux/ProFTPD

 

Les extensions réglages de cookies

Il y a une pléthore d’outils pour signaler et faire régler les préférences de cookies par les internautes. L’un des plus connus et utilisés actuellement sur les sites propulsés par WordPress est probablement Complianz. D’autres pourraient être intéressants à considérer, y compris en payant.

Complianz

Il n’est pas trop difficile à paramétrer et offre une conformité au RGPD. Cependant, il faut un compte premium pour profiter de tout le spectre des fonctionnalités. À côté de cela, la fonction gratuite peut suffire, et aucune information personnelle n’est demandée pour l’utiliser.
L’entreprise qui le développe est aux Pays-Bas, donc soumise au règlement Européen. https://wordpress.org/plugins/complianz-gdpr/
Il peut être accompagné de https://wordpress.org/plugins/complianz-terms-conditions/

Real Cookie Banner: GDPR (DSGVO) & ePrivacy

Il semble très attractif. Il y a beaucoup à lire pour faire le tour des informations (ce qui est le cas pour un grand nombre d’entre eux). Le plugin n’est pas encore traduit en français, à charge pour ceux qui le souhaitent de faire cela.

À tester prochainement. https://wordpress.org/plugins/real-cookie-banner/

Cookiebot CMP by Usercentrics

Un autre plugin de cookies très prometteur, mais il nécessite de s’inscrire, et de fournir sa carte bancaire (option payante ou gratuite, tout pareil).  Que ce soit en gratuit ou en payant, je trouve que c’est une mauvaise idée. Il y a d’autres méthodes pour payer des services, sans fournir l’accès direct à ses comptes bancaires à tout le monde et n’importe qui.
https://fr.wordpress.org/plugins/cookiebot/

Axeptio

Une petite société française de Montpellier, avec une présentation très fraîche du service. J’avais envie de l’essayer ce soir : en tant que particulier.
Or, il faut être inscrit sur le site, et même en tant que particulier il est nécessaire de fournir son adresse postale pour compléter l’inscription. En fait ça ne devrait pas être obligatoire, la règlementation sur la facturation ne requérant les informations postales que pour les entreprises. https://www.axept.io/fr
Je le testerai prochainement, en tant qu’entreprise.

Une suite à cet article sera disponible prochainement à la faveur de nouveaux tests, les plugins de cookies étant nombreux sur le marché : https://wordpress.org/plugins/search/cookie/.

Éditeur classique vs Éditeur Gutenberg

Dans le présent site, j’utilise le thème Miniva. Je rédige ce billet afin de faire un test croisé entre un blog et un autre.

En particulier, sur Linuxvillage.org, j’emploie Chronus, de ThemeZee. Et là je ne parviens plus à utiliser l’éditeur classique, restauré, comme ici, à l’aide de l’extension « Classic Editor ».

Le champ de rédaction ne répond pas. Si du texte y est inscrit il est invisible, je sais qu’il y est en affichant l’onglet HTML, mais dans l’onglet Visuel rien ne se passe.

Par ailleurs sur Linuxvillage.org, j’ai une extension pour gérer les langues, WPGlobus. Sur un autre site où j’ai WPGlobus, et encore un autre thème WordPress (thème Debut avec un thème enfant), l’interface de rédaction avec Classic Editor aussi devient quasi inaccessible, l’onglet Visuel n’affichant plus le contenu qu’un bref instant à l’ouverture de l’édition et lors d’un rafraîchissement de la page et le contenu disparaît aussitôt.

Mon navigateur web est Firefox, en dernière version stable. Je n’en ai pas essayé d’autre.

Ici, sans WPGlobus cela semble fonctionner parfaitement.

Je vais maintenant faire le même test sur https://citrotux.org, qui utilise Chronus, mais n’a pas WPGlobus.
Voyons si le Classic Editor ici fonctionne ?

………
……

Suite de l’histoire : sur le site citrotux.org avec le thème Chronus et pas de WPGlobus installé l’éditeur classique fonctionne.
Ici avec le thème Miniva j’ai voulu installer WPGlobus sur ce multisites, et l’activer uniquement sur le présent sous-site melodie.citrotux.org : bingo, l’onglet Visuel n’affiche plus le texte, et ne permet pas d’un insérer le curseur permettant de démarrer l’édition d’un texte.

À noter que ce phénomène est aléatoire, et peut se produire, ou pas, à chaque étape du processus d’édition. Par exemple avoir avoir mis à jour cet article pour l’enregistrer, une fois revenue sur l’onglet « Visuel », je suis à nouveau en mesure d’y ajouter ces quelques lignes.

Et après avoir ajouté ces dernières lignes depuis l’onglet Visuel, j’ai cliqué sur le bouton « Mettre à jour » dans la barre des outils à droite du champ de rédaction, et hop ! Le champ « Visuel » n’affiche à nouveau plus rien et ne permet plus l’édition. Je suis revenue dans l’onglet « Texte » pour ajouter cette dernière observation…

Quand Libreoffice et WordPress sont faits pour s’entendre

Voulez-vous écrire un billet hors ligne avec Libreoffice, mettre un formatage, par exemple de la couleur, que sais-je d’autres, et ensuite faire un copié-collé vers le champ d’édition d’un nouveau billet dans WordPress ? Un simple « Ctrl-a » dans Libreoffice, suivi d’un « Ctrl+c » et un Ctrl+v » après avoir sélectionné le champ article dans WordPress permettent de poster votre chef-d’œuvre en un rien de temps. Je viens de tester avec la version 4.4.1.2 de Libreoffice, vers la version 4.1 de WordPress. Cela fonctionne. Démonstration ci-dessous:

Tutu

tata

titi

toto

 Les raccourcis-clavier comptent : « Ctrl+c » et Ctrl+v » permettent de réussir le copié-collé. La méthode avec la souris ne fonctionne pas.

Notez que je suis sous (Arch)Linux. Je ne peux pas garantir que cela fonctionne de la même manière sous Windows. À vous de me dire ?

Compiler Xsnow

Comment compiler xsnow:

xsnow-1.42.tar.gz est ici http://janswaal.home.xs4all.nl/Xsnow

imake contient généralement xmkmf qui est requis.

Pour pouvoir le compiler (needed to build)
imake
gccmakedep
libx11-devel
libxt-devel
libxpm-devel

Une fois que ces paquets sont installés, lire le fichier README:

and once these installed, following the README:

How to compile:
—————
To build:
xmkmf
make depend
make

et voilà ! / is successful

Réseaux sociaux ou auto-fichage ?

Publié le : 19 avril 2012

Je vous suggère de lire cet intéressant billet de fiction. Tellement réaliste…

Expulsé du territoire pour avoir utilisé Facebook, Google+, Linkedin ou Twitter (lien supprimé en 2030 pour cause de disparition du blog d’origine, quand à l’auteur, il n’a pas laissé de lien pour faire suivre les commentaires 😔 ).

Lorsque Mr X arriva à l’aéroport , le fonctionnaire du contrôle des passeports ne lui posa qu’une seule question : “Utilisez vous les réseaux sociaux, Google+, Facebook, Twitter, Linkedin ?”

‘Heu, oui, comme tout le monde”

-Je vois ici sur votre profil Facebook que vous avez coché la case religion et indiqué Islam. Vous êtes pratiquant ?

-Mes parents le sont et je ne suis pas baptisé si vous préférez. Mais comment pouvez vous avoir accès à ces informations que je ne partage pas hormis avec mes amis ? C’est une violation de ma vie privée !

-Vous avez entièrement raison ! Cependant, notre police a passé des accord commerciaux avec Facebook pour acheter les données de ses utilisateurs (…)

Les réseaux sociaux sont-ils dangereux pour la préservation de notre vie privée, ou est-ce seulement l’usage qu’on en fait qui peut le devenir ?

Mise à jour 2020

À partir de 2013, puis en 2015 …

Des sous-titres en français sont disponibles sur amara.org.

En 2019 Pour obtenir un visa de voyage vers les États-Unis depuis mai 2019 vous devez indiquer les réseaux sociaux que vous avez fréquentés durant les cinq années précédentes.

En 2023, puis en 2027, puis lors des 12° et 15° lunes après Fonfon l’intrépide…

 

Dictionnaires informatiques et DMA

Les dicos fonctionnels sont rares…

Je viens de visiter plusieurs d’entre eux pour rechercher un choix… L’un a planté Firefox avec son script, le dernier, www.dicodu.net,  affiche:

Microsoft OLE DB Provider for ODBC Driverserreur ‘80004005’

[Microsoft][Pilote ODBC Microsoft Access] L’opération doit utiliser une requête qui peut être mise à jour.

/ExplicationMot.asp, ligne 6

Il reste Jargonf Actu et Wikipédia.

C’est le Jargon Français (Maintenant Jargonf Actu) qui est le meilleur ! o/ !

Ensuite, quelques infos pour recouper le cheminement du DMA à l’UDMA etc…
LE DISQUE DUR Historique des technologies. (de Hubert GREGOIRE, sur archive.org Dernière modification le 06/04/04)

http://jargonf.org/wiki/ultra_DMA

Dr enus.png locution nominale, masculin.  [disque]. Ultra Direct Memory Access.
Technologie de transfert de données entre le disque dur et la mémoire, en pratique du Direct Memory Access. Existe en 7 versions pour le moment, numérotées de 0 à 7, avec des débits respectifs de 16,7, 25, 33,3, 44,4, 66,7, 100 et 133 Mo/s.

Et le DMA, cité dans divers documents sans préciser sa plage historique, comme si nos PC l’utilisaient encore couramment (vrai pour certains, pas pour d’autres selon Jargonf Actu):

http://jargonf.org/wiki/DMA

1.  [mémoire (puces)]. Direct Memory Access. Accès direct à la mémoire vive. Mode de transfert de données dans la mémoire vive d’un ordinateur, optimisé car il ne mobilise quasi pas le processeur.

Le processeur ordonne le transfert DMA à un circuit spécialisé puis s’occupe d’autre chose (surtout grâce à sa mémoire cache, car le transfert mobilise d’ordinaire le bus de façon non négligeable). Un périphérique disposant d’un canal DMA copie ainsi dès que nécessaire au lieu de faire la queue.

Les processeurs sont désormais nettement plus rapides que le reste de la machine, ce qui n’était pas le cas quand le DMA a été mis au point. Or le DMA exige des circuits sur le périphérique, donc on peut économiser en s’en passant lorsque le débit n’implique pas de trop mobiliser le processeur, ou s’il n’a rien d’autre à faire.

Le sens de direct est ici bien distinct de celui qu’il revêt dans accès direct. Toute mémoire vive permet l’accès direct à nimporte quel élément, direct signifie ici que le CPU, d’ordinaire seul habilité à lire/écrire dans la mémoire vive, n’est pas impliqué.

(…..)

Note : fin de la page citée : «Dernière modification de cette page le 28 juillet 2009 à 13:28».

À suivre !

 

Setun, l’ordinateur trinaire

Un jour, je me suis demandé pourquoi les ordinateurs utilisent le système binaire. D’ailleurs, aurait-il été possible, de créer par exemple, un ordinateur basé sur un système trinaire ? Si cela avait été possible à quoi cela aurait-il ressemblé ? Alors, sans me douter que je trouverais un tel projet, j’ai cherché « ordinateur trinaire » sur le web, et…

Demo en ligne Setun

En 1956 un chercheur russe du nom de Nikolai Brusentsov avait mis au point un ordinateur basé non sur un système binaire, mais sur un système trinaire.
Nikolay Brusentsov – the Creator of the Trinary Computer

According to Essays on history of Computer Science and Technology in Ukraine »
author Boris Malinovsky
On June 21, 1941, the day before the beginning of the Great Patriotic War of the USSR Nick Brusentsov was an eighth-form (equivalent to 10th grade in the USA) schoolboy living in Dnepropetrovsk. He participated in competitions of young musicians, conducting a chorus which sang his own composition about Dzerzhinsk metallurgy workers. Everything was remarkable.

However, the next morning, together with the other children who had arrived from Dneprodzerzhinsk, he was urgently sent back home. He was already home when he heard Molotov’s radio speech. The words « The Victory will be ours! » and Borodin’s Bogatyrskaya symphony which followed were memorable for him.

Thus ended Nikolai’s childhood.

C’est le début de son histoire…

Ordinateur trinaire sur le web

Je résiste à l’envie de tout copier-coller ici, et je passe à la partie concernant directement cette machine utilisant un langage trinaire:

It was namely then that he decided to use a trinary number system. It allowed for the creation of very simple and reliable elements and reduced their quantity by seven times as compared to the number of elements used by L.Gutenmacher. The power source requirements were sharply reduced, due to the fact far fewer magnetic cores and diodes were being used. But the main advantage was that a natural number coding system was used instead of direct, inverse and complement number coding.

He developed and assembled a circuit for a trinary adder which began to work reliably as soon as it began operating. S.Sobolev, having found out about his intention to create a computer based on a trinary scale of notation fiercely supported the project and promised to bring on some young assistants. Inventing adders, counters and other typical circuits didn’t present much of a problem to Brusentsov.

In 1958 Brusentsov’s team (at that time amounting about 20 persons) assembled the first model of the computer with their own hands.

http://www.icfcst.kiev.ua/MUSEUM/GALLERY/Gallery.html

http://www.icfcst.kiev.ua/MUSEUM/PHOTOS/Setun-1.html

SetunSetun 1

 

Il a eu le succès qu’on lui connaît : un flop, puisque presque personne n’en parle, n’en a parlé ces dernières années, lors de la généralisation de l’usage de l’ordinateur personnel.

Selon l’article suivant, Development of ternary computers at Moscow State University

Brousentsov N. P., Maslov S. P., Ramil Alvarez J., Zhogolev E.A. cela aurait été une machine très économique et puissante.

The design of small digital machine « Setun » (Setun is the little river which flows into the river « Moscow » near the University) was initiated by member of the academy of Sciences S. L. Sobolev at 1956. It was assumed to create small, inexpensive computer, simple in use and service for schools, research laboratories, design offices and for manufacture control.

Si j’ai bien compris, la création de programme était aussi une tâche aisée.

The experience of creating, programming and application of « Setun » unambiguously confirmed the significant preferences of ternarity. In spite of the fact that the designers of the first were very young and the group was small, the specimen of « Setun » was ready in Dec. 1958, i.e. in two years since the beginning. « Setun » worked correctly at once without even debugging and began to execute the existing programs. At 1960 it was sufficient amount of programs and it was possible to present « Setun » for the official testing.

Such testing was passed in Apr. 1960 very successfully. The computer demonstrated unusual for that times reliability and stability of operation in wide range of ambient temperature and supply voltage. It was found that the computer is rather simple both in manufacturing and in service, suitable for wide range of applications. « Setun » was recommended for production.

L’article explique ensuite que ce projet a été dédaigné, négligé, et découragé par les autorités officielles, sans que les motifs en soient très clairs.

Unfortunately the officials of the computer production in the USSR had negative position about non-planned and unusual « fruit of university fantasy ». Instead of supporting the innovation and taking a possible profit they permanently attempted to annihilate « ugly duckling ». There were many orders of « Setun », including ones for export, but only 10-15 computers were produced annually and none of them was exported aboard. The planned manufacture of « Setun » in Czechoslovakia was also broken. At 1965 the manufacturing of « Setun » was stopped in spite of unsatisfied requests. It was replaced by a binary computer of the same performance but more than 2.5 times more expensive.

Notez que je n’ai cité que de brefs extraits de ces pages que j’ai trouvées très intéressantes. Les liens proviennent de la page suivante sur Wikipédia:

Système trinaire

Ajoutez-y quelques pages de plus en cherchant sur le web, comme cette simulation en ligne de l’ordinateur Setun:

Mise à jour du lien 2020 http://trinary.ru/projects/setunws/ (c’est une démo en ligne, amusez-vous avec !)

 

  • Setun WS: Emulator of Ternary soviet computer
  • Developed by Alexander Obukhov
  • Version beta.9.2.4

Et un autre, à télécharger sur Sourceforges.

http://sourceforge.net/projects/tunguska/