Atelier logiciel : Différence entre versions

De fablabo
Aller à : navigation, rechercher
(Le matériel)
(Installation sur l'ordinateur de l'atelier salon des logiciels et des fichiers personnels)
 
(355 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 9 : Ligne 9 :
 
|ingrédients=logiciel,
 
|ingrédients=logiciel,
 
|url=[http://fablabo.net/wiki/SCAO SCAO]
 
|url=[http://fablabo.net/wiki/SCAO SCAO]
}}
+
}}
 
==Définition==
 
==Définition==
 
L'atelier logiciel est l'un des [http://fablabo.net/wiki/SCAO#Les_ateliers_de_prototypage ateliers de prototypage] du SCAO.
 
L'atelier logiciel est l'un des [http://fablabo.net/wiki/SCAO#Les_ateliers_de_prototypage ateliers de prototypage] du SCAO.
  
L'appellation '''atelier logiciel''' n'est pas référencé par l'encyclopédie Wikipédia. L'appellation la plus proche est [https://fr.wikipedia.org/wiki/Atelier_de_g%C3%A9nie_logiciel atelier de génie logiciel]. Un atelier de génie logiciel (AGL), ou des outils [https://fr.wikipedia.org/wiki/Computer-aided_software_engineering CASE] pour Computer Aided Software Engineering, désigne un ensemble de programmes informatiques permettant eux-mêmes de produire des programmes de manière industrielle.
+
L'appellation '''atelier logiciel''' n'est pas référencée par l'encyclopédie Wikipédia. L'appellation la plus proche est [https://fr.wikipedia.org/wiki/Atelier_de_g%C3%A9nie_logiciel atelier de génie logiciel]. Un atelier de génie logiciel (AGL), ou des outils [https://fr.wikipedia.org/wiki/Computer-aided_software_engineering CASE] pour Computer Aided Software Engineering, désigne un ensemble de programmes informatiques permettant eux-mêmes de produire des programmes de manière industrielle.
  
 
L'appellation [https://fr.wikipedia.org/wiki/Suite_logicielle suite logicielle], en anglais [https://en.wikipedia.org/wiki/Software_suite software suite] désigne une entité utilisée au sein de l'atelier logiciel.
 
L'appellation [https://fr.wikipedia.org/wiki/Suite_logicielle suite logicielle], en anglais [https://en.wikipedia.org/wiki/Software_suite software suite] désigne une entité utilisée au sein de l'atelier logiciel.
  
 
==Objet==
 
==Objet==
L'objet est la mise en place et le '''[https://fr.wikipedia.org/wiki/Maintien_en_condition_op%C3%A9rationnelle MCO]''' des moyens informatiques nécessaires au développement des prototypes du '''[http://fablabo.net/wiki/SCAO SCAO]'''.
+
L'objet est la mise en place et le '''[https://fr.wikipedia.org/wiki/Maintien_en_condition_op%C3%A9rationnelle Maintien en Condition Opérationnelle (MCO)]''' des moyens informatiques nécessaires au développement des prototypes du '''[http://fablabo.net/wiki/SCAO SCAO]'''.
  
 
== Le matériel ==
 
== Le matériel ==
L'atelier logiciel utilise les ressources d'un ordinateur fixe, d'un ordinateur portable et d'un smartphone. Ces 3 appareils sont synchronisés.
+
L'atelier logiciel utilise les ressources d'[https://fr.wikipedia.org/wiki/Ordinateur_personnel ordinateurs personnels], 2 ordinateurs fixes (ASUS et Compaq), 2 ordinateurs portables (LDLC et Packard Bell) et un iphone 5. Ces 5 appareils sont synchronisés.
  
L'ordinateur fixe de type PC est équipé de :
+
L'ordinateur fixe est conçu autour d'une [https://fr.wikipedia.org/wiki/Carte_m%C3%A8re carte mère] qui est l'ossature de tout ordinateur. Les dimensions de la carte mère sont standardisées selon un [https://fr.wikipedia.org/wiki/Facteur_de_forme_(informatique) facteur de forme], par exemple pour le facteur de forme de l'ATX, les dimensions en mm sont 305X244.
*une carte mère '''[https://www.asus.com/fr/Motherboards/P5Q/ ASUS P5Q]''' équipée :
+
===Construire son PC personnalisé===
 +
Pour construire son PC personnalisé, cliquer sur le lien [https://github.com/AIREL46/SCAO/wiki/Construction-d'un-ordinateur-personnel Construire son PC].
 +
 
 +
===ASUS===
 +
Voir également la [https://github.com/AIREL46/SCAO/wiki/R%C3%A9paration-de-l'ordinateur-ASUS réparation de l'ordinateur ASUS].
 +
 
 +
L'ordinateur fixe ASUS de type PC est équipé de :
 +
*une carte mère '''[https://www.asus.com/fr/Motherboards/P5Q/ ASUS P5Q]''' dont le facteur de forme indiqué par la notice du constructeur est "ATX Form Factor 12 pouces X 8.8 pouces (30.5 cm X 22.4)", soit une largeur 2 cm inférieurs à la norme ? Les dimensions sont ensuite mesurées sur la carte mère de l'ordinateur, elles correspondent bien à celle indiquées par la notice ; elle est équipée :
 
**d'un CPU '''[https://ark.intel.com/fr/products/33910/Intel-Core2-Duo-Processor-E8400-6M-Cache-3_00-GHz-1333-MHz-FSB Intel Core 2 Duo E8400]''' qui travaille à la fréquence de 3 GHZ.
 
**d'un CPU '''[https://ark.intel.com/fr/products/33910/Intel-Core2-Duo-Processor-E8400-6M-Cache-3_00-GHz-1333-MHz-FSB Intel Core 2 Duo E8400]''' qui travaille à la fréquence de 3 GHZ.
**trois mémoires '''[http://www.ldlc.com/fiche/PB00037548.html Corsair 1024 MO DDR2 667 MHZ]'''
+
**trois mémoires '''[http://www.ldlc.com/fiche/PB00037548.html Corsair 1024 MO DDR2 667 MHZ]''',
 
*une  '''[http://www.nvidia.fr/object/geforce_9500gt_fr.html Asus carte vidéo]'''
 
*une  '''[http://www.nvidia.fr/object/geforce_9500gt_fr.html Asus carte vidéo]'''
 
*une '''[http://www.cdiscount.com/informatique/alimentation-pc/corsair-alimentation-pc-vs550/f-10775-cp9020097eu.html?gclid=CIOLobfT4NMCFVNuGwodgpsJQQ&s_kwcid=AL!639!3!95135150362!!!g!!&cid=search&cm_mmc=SE_mckv!_Shopping_ShoppingCD&ef_id=WPh2WgAAAWjr1m9H:20170508155138:s#desc alimentation Corsair 500W]'''
 
*une '''[http://www.cdiscount.com/informatique/alimentation-pc/corsair-alimentation-pc-vs550/f-10775-cp9020097eu.html?gclid=CIOLobfT4NMCFVNuGwodgpsJQQ&s_kwcid=AL!639!3!95135150362!!!g!!&cid=search&cm_mmc=SE_mckv!_Shopping_ShoppingCD&ef_id=WPh2WgAAAWjr1m9H:20170508155138:s#desc alimentation Corsair 500W]'''
 
*un '''[https://iiyama.com/fr_fr/produits/prolite-e1902s-1/ écran iiyama 19 pouces]'''  
 
*un '''[https://iiyama.com/fr_fr/produits/prolite-e1902s-1/ écran iiyama 19 pouces]'''  
 
*un '''[http://www.sony-optiarc.us/endoflifeproducts/dvddrives/desktop/ad7170asandawg170as.html graveur Nec]'''
 
*un '''[http://www.sony-optiarc.us/endoflifeproducts/dvddrives/desktop/ad7170asandawg170as.html graveur Nec]'''
*deux disques durs :
+
*quatre disques durs :
**un '''[http://www.ldlc.com/fiche/PB00084982.html disque Western digital véloce de 150 GO]'''
+
**un '''[http://www.ldlc.com/fiche/PB00084982.html disque Western digital véloce de 150 GO]''' (/dev/sda)
**un '''[https://www.wdc.com/fr-fr/products/internal-storage/wd-black-mobile.html disque Western digital de 500 GO]''' dédié initialement aux sauvegardes.
+
**un '''[https://www.wdc.com/fr-fr/products/internal-storage/wd-black-mobile.html disque Western digital de 500 GO]''' dédié initialement aux sauvegardes ATA WDC WD5000AACS-0 (/dev/sdb)
 +
**un disque ATA Samsung SSD 860 de 500 GiO (/dev/sdc)
 +
**un disque externe WD Elements 25A2 de 1 TO dédié aux sauvegardes.
 +
 
 +
===Compaq===
 +
L'ordinateur fixe COMPAQ de type PC est équipé de :
 +
*une carte mère ASUS M2N68-AM PLUS équipée :
 +
**d'un CPU AMD Athlon XP3000 qui travaille à la fréquence de 2.16 GHZ.
 +
**deux mémoires KINGSTON TYPE L2 CACHE d'une capacité de 512KB.
 +
*une carte vidéo GF210 512M
 +
*une alimentation BESTEC model ATX-300-12Z.
 +
*un écran PHILIPS de 17 pouces.
 +
*un graveur LABELFLASH 3M-Optiarc D.
 +
*un disque dur MAXTOR STM380215A de 80Go.
  
L'ordinateur portable de type LDLC MB5-15-8-S2H10 sans système d'exploitation, il est équipé de :
+
===LDLC===
 +
L'ordinateur portable de type LDLC MB5-15-8-S2H10, sans système d'exploitation, est équipé de :
 
*Processeur Intel Core i5-4210M (2.6 GHZ / 3.2 GHZ Turbo - Cache 3 MO)
 
*Processeur Intel Core i5-4210M (2.6 GHZ / 3.2 GHZ Turbo - Cache 3 MO)
 
*8 GO de mémoire DDR3L (2 X 4 GO)
 
*8 GO de mémoire DDR3L (2 X 4 GO)
Ligne 49 : Ligne 70 :
 
*lecteur de carte intégré
 
*lecteur de carte intégré
 
*Jusqu'à 5h30 d'autonomie
 
*Jusqu'à 5h30 d'autonomie
*Hauts parleurs intégrés
+
*Hauts-parleurs intégrés
 
*Webcam HD 2 Mégapixels
 
*Webcam HD 2 Mégapixels
 
*Graveur DVD externe.
 
*Graveur DVD externe.
 +
===L'ordinateur de Jacqueline===
 +
C'est un ordinateur portable PACKARD Bell Easynote, modèle ALP-Ajax GDC qui se compose :
 +
*D ‘un CPU Intel Core Duo 1.6 GHz.
 +
*D’un disque dur HDD IDE de 100 Go.
 +
*D’une carte mère Intel WLAN3945ABG.
 +
*D’une mémoire d’1Go RAM DDR2 RAM.
 +
*D’un lecteur DVD-RW.
 +
*D’un écran d’une résolution 1280 par 800.
 +
*D’un port LAN, d’un port VGA et de 4 ports USB2.0.
 +
*D’une Webcam.
 +
Le lien suivant permet de visualiser le [https://www.youtube.com/watch?v=4nAsxAKLGTY&t=10s démontage de ce PC portable]
 +
 +
===Iphone 5===
 +
L'iPhone 5 est un modèle de la 6e génération d'iPhone, de la société Apple.
 +
 +
Il fonctionne sous [https://fr.wikipedia.org/wiki/Historique_des_versions_d%27iOS#iOS_10 iOS 10], dispose d'un processeur [https://fr.wikipedia.org/wiki/Apple_A6 A6], d'un écran de 4 pouces et d'un nouveau connecteur [https://fr.wikipedia.org/wiki/Lightning_(connecteur) « Lightning »] réversible.
 +
Pour plus de détails, suivez le lien [https://fr.wikipedia.org/wiki/IPhone_5 Iphone 5] ainsi que  le paragraphe "Les logiciels" de ce wiki.
 +
 
=== Installation d'une embase murale RJ45 ===
 
=== Installation d'une embase murale RJ45 ===
Les embases murales [https://fr.wikipedia.org/wiki/RJ45 RJ45] installées dans la maison de St Molf sont en [https://fr.wikipedia.org/wiki/RJ45#C%C3%A2blage_droit "câblage droit T568'''B'''"]
+
Les embases murales [https://fr.wikipedia.org/wiki/RJ45 RJ45] installées dans la maison de St-Molf sont en [https://fr.wikipedia.org/wiki/RJ45#C%C3%A2blage_droit "câblage droit T568'''B'''"].
 +
 
 +
Chacune des embases est raccordée à une embase RJ45 disponible de la [http://portail.free.fr/ freebox] selon un câblage en étoile.
 +
 
 +
Pour procéder à l'installation d'une embase, il convient de se référer au [https://www.leroymerlin.fr/v3/p/campus/comment-poser-une-prise-rj45-l1401292105?queryredirect=a_ic_comment_poser_une_prise_rj45__&numpage=1 tutoriel Leroy Merlin].
 +
=== Installation d'un disque dur ===
 +
Chaque disque dur est raccordés à la carte mère par une interface [https://fr.wikipedia.org/wiki/Serial_ATA SATA]
 +
.
 +
La carte mère P5Q de l'ordinateur ASUS est équipée de :
 +
*6X SATA 3.0 Gb/s ports
 +
N.B. : Un élément SATA I, II ou III peut être branché sur une carte mère SATA I, II ou III. Le débit obtenu sera alors celui de l'élément le plus lent.
 +
Par exemple, un disque dur SATA III sur une carte mère SATA II aura un débit limité par la carte mère à 300 Mo/s
 +
 
 +
Liens :
 +
*[https://fr.wikipedia.org/wiki/Disque_dur disque dur]
 +
*[https://www.materiel.net/minisites/guide_montage_pc/installation-disque-dur.php installation]
 +
*[https://www.hdsentinel.com/storageinfo_details.php?lang=en&model=WDC%20WD5000AAKS Fiche technique]
 +
*[https://www.google.fr/search?client=ubuntu&channel=fs&dcr=0&tbm=isch&q=hdd+3.5+installation&chips=q:hdd+3.5+installation,online_chips:adapter+enclosure&sa=X&ved=0ahUKEwifw7St05naAhWBPxQKHbXyAHcQ4lYILSgH&biw=1280&bih=901&dpr=1#imgrc=7i9qgJ9UAWYbnM: 3.5" to 5.25" Bay Hard Disk Drive HDD Mounting Bracket Adapter ]
 +
=== How to connect Front Panel Connectors to the Motherboard ===
 +
[https://www.youtube.com/watch?v=b6q4h-lNHrU How to connect Front Panel Connectors to the Motherboard]
 +
==== Mesures des tensions et courants ====
 +
a) Mesures sur la LED ON/OFF
 +
* tension = 2.886 Volts
 +
* courant = 6.3 mA
 +
* soit une puissance = 18.18 mW
 +
 
 +
b) Mesures sur une LED du magasin câblée à la place de la LED ON/OFF
 +
* tension = 1.883 Volts
 +
* courant = 9.79 mA
 +
* soit une puissance = 18.43 mW
 +
=== Créer une clé USB bootable Ubuntu ===
 +
[https://tutorials.ubuntu.com/tutorial/tutorial-create-a-usb-stick-on-ubuntu?_ga=2.141718769.25377526.1578918986-1684401949.1578918986#0 tutorial create a bootable stick on ubuntu].
 +
 
 +
=== Fabrication d'un circuit imprimé ===
 +
Deux fournisseurs sont identifiés :
 +
* [https://www.util-pocket.com/ Util'Pocket]
 +
* [https://be.eurocircuits.com Eurocircuits]
 +
* [http://atexa.fr/ Atexa].
 +
 
 +
Pour dimensionner la largeur de la piste en fonction du courant qui la traverse, il convient de se référer au document [http://sebastien.bernard.free.fr/cours-tp-td-exo/Conception-des-circuits-imprimes.pdf conception des circuits imprimés].
 +
 
 +
Pour la découpe laser d'une [https://laserhub.com/fr/materiaux/cuivre/ plaque de cuivre].
 +
 
 +
===Pull-up and Pull-down resistors===
 +
[https://www.electronics-tutorials.ws/logic/pull-up-resistor.html Pull-up and Pull-down resistors] are used to correctly bias the inputs of digital gates to stop them from floating about randomly when there is no input condition.
 +
===Serveur de stockage en réseau (NAS)===
 +
En référence à Planète Linux n°118, l'article intitulé "Installation d'un serveur de fichier".
 +
Tout d'abord voici la définition de Wikipédia : "''Un [https://fr.wikipedia.org/wiki/Serveur_de_stockage_en_r%C3%A9seau serveur de stockage en réseau], également appelé stockage en réseau NAS, boîtier de stockage en réseau ou plus simplement NAS (de l'anglais Network Attached Storage), est un serveur de fichiers autonome, relié à un réseau, dont la principale fonction est le stockage de données en un volume centralisé pour des clients réseau hétérogènes.'' "
 +
 
 +
Ce NAS est installé au sein d'un réseau local constitué à partir de la freebox, il est constitué :
 +
* d'un ordinateur simplifié
 +
* du logiciel XigmaNAS.
 +
 
 +
=== Oscilloscope ===
 +
L'achat est effectué sur le site en ligne Farnell pour le [https://fr.farnell.com/pico-technology/picoscope-2204a/oscilloscope-pc-10mhz-avec-awg/dp/2365425?ost=2365425 Picoscope 2204A].
 +
 
 +
La [http://www.farnell.com/datasheets/3162087.pdf datasheet du Picoscope 2204A].
 +
 
 +
[[fichier:Picoscope.png |thumb|center|upright=2 | Picoscope]]
 +
 
 +
== Mise à niveau d'Ubuntu de la version 20.04 LTS à la version 24.04 LTS ==
 +
=== Identification de la version installée ===
 +
Il existe deux moyens pour identifier le version installée :
 +
* cliquer sur l'utilitaire "Paramètres" puis sur "A propos de cet ordinateur"
 +
* ouvrir un terminal et taper lsb_release -d, The  lsb_release command provides certain LSB (Linux Standard Base) and
 +
distribution-specific information. L'option -d permet "''Display a description of the currently installed distribution''", le résultat est le suivant :
 +
 
 +
<code>airel@airel-System-Product-Name:~$ '''lsb_release -d'''
 +
 
 +
Description: '''Ubuntu 20.04.6 LTS'''</code>
 +
 
 +
=== Créer / flasher une clef USB bootable (Live USB) ===
 +
En référence à la documentation Ubuntu accessible par ce lien [https://doc.ubuntu-fr.org/live_usb live-USB]. Un '''live-USB''' permet de démarrer un système (Ubuntu ou autre) qui n'est pas installé sur le PC. Ce démarrage permet soit de tester Ubuntu, soit de l'installer sur le disque du PC, soit de réparer le système, soit même (live "persistant") d'utiliser Ubuntu comme bureau mobile complet (portable sur n'importe quel PC compatible).
 +
 
 +
Pour créer cette clé, j'ai utilisé [https://doc.ubuntu-fr.org/usb-creator usb-creator] qui est l'outil installé par défaut sur Ubuntu. Pour le lancer, il suffit de taper dans un terminal :
 +
* <code>usb-creator-gtk</code>.
 +
 
 +
Pour graver la clé, il faut au préalable avoir télécharger l'image iso de la distribution :
 +
* <code>Téléchargements/ubuntu-24.04-desktop-amd64.iso</code>
 +
* et qu'une clé USB vierge soit présente sur l'ordinateur.
 +
 
 +
=== Lancement d'Ubuntu 24.04 LTS à partir de la clé USB ===
 +
Pour lancer Ubuntu 24.04, il convient que :
 +
* la clé USB soit présente sur l'un des ports de l'ordinateur
 +
* de rebooter l'ordinateur en appuyant sur la touche '''Suppr.''' pour entrer dans l'utilitaire de configuration et y sélectionner successivement :
 +
 
 +
<code>Démarrage - Priorité de démarrage - Boot option #1 - UEFI: USB Disk 2.0 PMAP, Partition 2 (14806)</code>
 +
* valider la clé USB par appui sur la touche entrée
 +
* sauvegarder par appui sur la touche F10
 +
* en sortant de l'utilitaire de configuration, l'ordinateur va booter sur la clé USB
 +
* sous Ubuntu 24.04, dérouler l'utilitaire de configuration, en particulier pour paramêtrer la langue et le clavier.
 +
* Une erreur va se déclarer : "System program problem detected", je la signale sur le site Ubuntu one par le message suivant : ''From the ubuntu-24.04-desktop-emd64.iso ISO image and the usb-creator-gtk utility, I created a USB key. After booting on this key, I have access to this new version of Ubuntu but an error is declared at boot time and then the error: "System program problem detected".  Thank you in advance for your help.''. Je reçois une réponse complétement inintelligible accessible par le [https://bugs.launchpad.net/subiquity/+bug/2076082 lien]
 +
* J'envoie un nouveau message : Hello Olivier,Thank you for your reply. I do not understand at all the information you are giving me or how to use it. Can you if possible give me simple information that would allow me to solve my problem. Sincerely. Régis
 +
* Je ne reçois aucune réponse et je passe outre l'erreur constatée.
 +
 
 +
=== Installation sur l'ordinateur de l'atelier salon d'Ubuntu 24.04 LTS à partir de la clé USB ===
 +
L'odinateur est équipé de deux disques durs :
 +
* ATA WDC WD5000AAKS-2 monté sur la partition /dev/sda (465 Gio) divisée en deux partitions : '''sda1 (248 Gio)''' et sda2 (232 Gio)
 +
* ATA CT250MX500SSD1 monté sur la partition /dev/sda /dev/sdb (232 Gio)
 +
C'est sur la partition sd1 qu'ubuntu 24.04 LTS va être installée.
 +
L'installation écrase le contenu de la partition, le résultat est satisfaisant, il ne reste plus qu'à installer les logiciels et les fichiers personnels.
 +
 
 +
=== Installation sur l'ordinateur de l'atelier salon des logiciels et des fichiers personnels ===
 +
Les logiciels installés sont :
 +
* Librecad en version 22.0-undef
 +
* openscad en version 2019.05
 +
* git en version 2.43.0
 +
* l'utilitaire numlockx permet de d'initialiser le pavé numérique '''mais attention lors du login, le pavé n'est pas encore activé, il convient donc d'entrer la partie chiffre du mot de passe à partir du clavier mais sans se servir du pavé numérique.'''
 +
* atom en version 1.60.0 X64 installé après téléchargement de [https://github.com/atom/atom/releases/download/v1.60.0/atom-amd64.tar.gz atom-amd64.tar.gz], j'ai créé un nouveau répertoire atom et dans ce répertoire, j'ai extrait les fichiers. Le lancement d'atom est possible uniquement en cliquant sur l'icone fichier, après recherche du répertoire <code>atom/atom-amd64/atom-1.60.0-amd64</code>, cliquer sur l'icone '''atom'''.
 +
* arduino-ide : téléchargement de <code>arduino-ide_2.3.2_Linux_64bit.AppImage</code>, je lance l'exécutable dans un terminal, l'erreur suivante apparaît : [7779:0813/143914.948331:FATAL:setuid_sandbox_host.cc(158)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /tmp/.mount_arduinyqZnYm/chrome-sandbox is owned by root and has mode 4755. Trappe pour point d'arrêt et de trace (core dumped). je fait une nouvelle tentative avec l'option --no-sandbox, c'est encore pire, je laisse tomber.
 +
 
 +
* je réussi sur la plateforme [https://app.arduino.cc/sketches/d5cfc540-3203-49ff-b3fc-0be0b86170ba Arduino Agent] à connecter une Arduino Uno, puis une MKR wifi 1010, par contre, avec la MKR wifi 1010 de la e-poignée, je ne parviens pas à établir la liaison série. En final, je réussi en utilisant le bootloader mode. On some boards (such as those of the MKR Family and newer Nano boards), pressing the RESET button twice in quick succession will put the board in bootloader mode. Instead of running a sketch the Arduino will wait until a sketch is uploaded. While in bootloader mode, an orange LED will fade in and out.
 +
 
 +
 
 +
Concernant Les fichiers personnels, j'ai essayé de copier le contenu du répertoire SCAO à l'aide de la commande [https://archive.fablabo.net/wiki/Atelier_logiciel#Git_et_Git-hub git clone] mais sans succès. Pour contourner la difficulté, j'ai restauré la sauvegarde de l'atelier logiciel.
 +
 
 +
Les tests de la plateforme montée sur le shield MKR wifi 1010 sont décrits sur Github accessible par le lien  [https://github.com/AIREL46/SCAO/wiki/Prototypage-de-la-e%E2%80%90poign%C3%A9e-filaire#assemblage-de-la-e-poign%C3%A9e-filaire Assemblage de la e-poignée filaire].
 +
 
 +
==Installations logicielles==
 +
Liste des installation et vérifications :
 +
* [https://fablabo.net/wiki/Atelier_logiciel#Cr.C3.A9er_une_cl.C3.A9_USB_bootable_Ubuntu Créer une clé USB pour installer Ubuntu]
 +
* booter sur la clé et installer Ubuntu
 +
* [https://fablabo.net/wiki/Atelier_logiciel#Git_et_Git-hub Git]
 +
* [https://fablabo.net/wiki/Atelier_logiciel#Libraries Libraries]
 +
* [https://fablabo.net/wiki/Atelier_logiciel#Minicom Minicom]
 +
* [https://fablabo.net/wiki/Atelier_logiciel#Les_logiciels_applicatifs Librecad]
 +
* [https://fablabo.net/wiki/Atelier_logiciel#Les_logiciels_applicatifs Openscad]
 +
* [https://fablabo.net/wiki/Atelier_logiciel#Les_logiciels_applicatifs Kicad]
 +
* [https://fablabo.net/wiki/Atelier_logiciel#Les_logiciels_applicatifs Inkscape]
 +
* [https://fablabo.net/wiki/Atelier_logiciel#Gestion_de_versions SCAO]
 +
* [https://fablabo.net/wiki/Atelier_logiciel#Installation_de_l.27.C3.A9diteur_Atom Atom]
 +
* [https://fablabo.net/wiki/Atelier_logiciel#Environnement_de_developpement Arduino IDE]
 +
* [https://fablabo.net/wiki/Atelier_logiciel#Environnement_de_developpement Arduino cli]
 +
* Créer les [https://fablabo.net/wiki/Atelier_logiciel#Cr.C3.A9er_un_alias alias]
 +
* Vérifier les accès à fablabo et [https://fablabo.net/wiki/Atelier_logiciel#Personal_access_tokens_.28PAT.29 github].
 +
 
 +
==Personal access tokens (PAT)==
 +
En référence à la version anglaise de Wikipédia, "''In computer systems, an [https://en.wikipedia.org/wiki/Access_token access token] contains the security credentials for a login session and identifies the user, the user's groups, the user's privileges, and, in some cases, a particular application. Typically one may be asked to enter the access token (e.g. 40 random characters) rather than the usual password (it therefore should be kept secret just like a password).''"
 +
 
 +
Pour obtenir un PAT, il faut suivre le lien suivant [https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ token-authentication-requirements-for-git-operations].
 +
 
 +
L'accès à Github s'effectue comme par le passé avec l'identifiant classique (Nom utilisateur + mot de passe).
 +
 
 +
Par contre, il faut prévoir un PAT nécessaire à l'exécution de certaine commande git comme :
 +
* <code>'''git push origin master'''</code>
 +
Mon PAT (Token for AIREL) est mémorisé dans un fichier personnel stocké sur une clé USB.
 +
 
 +
Si nécessaire, on peut effacer toutes les informations d'identification mises en cache dans git à l'aide de la commande suivante :
 +
* <code>'''git config --global --unset credential.helper'''</code>
  
 
==Synchronisation==
 
==Synchronisation==
 
Il s'agit principalement d'une [https://fr.wikipedia.org/wiki/Synchronisation_de_fichiers synchronisation de fichiers] entre les appareils.
 
Il s'agit principalement d'une [https://fr.wikipedia.org/wiki/Synchronisation_de_fichiers synchronisation de fichiers] entre les appareils.
  
L'objet est, pour un fichier donné, de garantir la correspondance exacte, de son contenu et de sa version d'un appareil à l'autre.
+
L'objet est, pour un fichier donné, de garantir la correspondance exacte de son contenu et de sa version d'un appareil à l'autre.
  
 
Les moyens pour y parvenir sont :
 
Les moyens pour y parvenir sont :
 
* le module sync de firefox pour le Web
 
* le module sync de firefox pour le Web
 
* la gestion de version avec Git et Git-hub pour les fichiers du sous répertoire /home/leruste/SCAO
 
* la gestion de version avec Git et Git-hub pour les fichiers du sous répertoire /home/leruste/SCAO
* la communication à partir d'un réseau local pour les fichiers personnels des autres sous répertoires de /home/leruste.
+
* la communication à partir d'un réseau local pour les fichiers personnels des autres sous-répertoires de /home/leruste.
 +
==Développement logiciel==
 +
===Environnement de developpement===
 +
L'[https://fr.wikipedia.org/wiki/Environnement_de_d%C3%A9veloppement environnement de développement] '''« intégré »''' (abrégé EDI en français ou [https://en.wikipedia.org/wiki/Integrated_development_environment IDE] en anglais, pour '''integrated development environment'''). Cet [https://en.wikipedia.org/wiki/Integrated_development_environment IDE] peut être réalisé à partir soit de :
 +
* l'[https://blog.arduino.cc/?ie=UTF-8&oe=UTF-8&s=IDE&domains=&sitesearch= arduino IDE]
 +
* l'[https://blog.arduino.cc/2020/03/13/arduino-cli-an-introduction/ arduino CLI] qui offre la possibilité d'utiliser l'éditeur de son choix, [https://atom.io/ atom] en particulier. Pour l'installer, choisir l'option '''"use the install script"''' du tutoriel [https://arduino.github.io/arduino-cli/latest/installation/ installation], voir ensuite :
 +
** [https://arduino.github.io/arduino-cli/ la documentation]
 +
** [https://github.com/arduino/arduino-cli github]
 +
** [https://arduino.github.io/arduino-cli/getting-started/ getting started].
 +
* [https://fr.wikipedia.org/wiki/Eclipse_(projet) Eclipse].
 +
 
 +
===Les plateformes===
 +
Dans le contexte de cet atelier logiciel, les [https://fr.wikipedia.org/wiki/Plate-forme_(informatique) plateformes] sont des [https://fr.wikipedia.org/wiki/Environnement_de_d%C3%A9veloppement environnements de développement] '''« intégré »''' (abrégé EDI en français ou [https://en.wikipedia.org/wiki/Integrated_development_environment IDE] en anglais, pour '''integrated development environment''').
 +
 
 +
Une plateforme est généralement constituée d'un ordinateur et d'un [https://fr.wikipedia.org/wiki/Microcontr%C3%B4leur microcontrôleur] raccordé par un câble USB.
 +
 
 +
Le [https://fr.wikipedia.org/wiki/D%C3%A9veloppement_de_logiciel développement du logiciel] dédié au [https://fr.wikipedia.org/wiki/Microcontr%C3%B4leur microcontrôleur] se réalise selon les phases suivantes :
 +
* au sein de l'[https://en.wikipedia.org/wiki/Integrated_development_environment IDE] installé sur l'ordinateur :
 +
** saisie du programme
 +
** vérification
 +
** téléversement de l'ordinateur vers le [https://fr.wikipedia.org/wiki/Microcontr%C3%B4leur microcontrôleur]
 +
* au sein du [https://fr.wikipedia.org/wiki/Microcontr%C3%B4leur microcontrôleur] exécution du programme.
 +
Les phases décrites ci-dessus peuvent être exécutées autant de fois que nécessaire jusqu'à obtention du fonctionnement souhaité.
 +
 
 +
A partir du moment où le câble USB est déconnecté, le [https://fr.wikipedia.org/wiki/Microcontr%C3%B4leur microcontrôleur], si son alimentation est autonome (batterie), va exécuter en permanence le dernier programme téléversé.
 +
 
 +
====Plateformes Arduino et Teensy====
 +
Les deux plateformes sont constituées à partir du même ordinateur complété, soit d'un [https://fr.wikipedia.org/wiki/Microcontr%C3%B4leur microcontrôleur] de la famille [https://fr.wikipedia.org/wiki/Arduino Arduino], soit d'un [https://fr.wikipedia.org/wiki/Microcontr%C3%B4leur microcontrôleur] [https://www.pjrc.com/teensy/ Teensy]. Les deux plateformes utilisent le même [https://en.wikipedia.org/wiki/Integrated_development_environment IDE].
 +
L'[https://en.wikipedia.org/wiki/Integrated_development_environment IDE] est :
 +
* soit l'Arduino web editor (disponible uniquement pour Linux 64 bits en date du 14/03/2018)
 +
* soit l'Arduino IDE (Linux '''32 bits''' et 64 bits)
 +
les deux sont accessibles par ce [https://www.arduino.cc/en/Main/Software lien].
 +
 
 +
La [http://playground.arduino.cc/uploads/Main/arduino_notebook_v1-1.pdf documentation].
 +
 
 +
Dans le cas du [https://www.pjrc.com/teensy/ Teensy], il est complété de [https://en.m.wikipedia.org/wiki/Library_(computing) librairies spécifiques].
 +
 
 +
Prenons l'exemple de l'installation de l'IDE arduino-1.8.8
 +
*sur le site arduino, télécharger l’archive arduino-1.8.8-linux64.tar.xz
 +
*la décompresser puis installer avec les commandes :
 +
**tar Jxvf arduino-1.8.8-linux64.tar.xz
 +
**./arduino-1.8.8-linux-setup.sh $USER
 +
**reboot
 +
**lancement arduino.
 +
 
 +
====Plateforme Microchip====
 +
Elle est traitée en un projet séparé accessible par le lien [http://fablabo.net/wiki/PIC PIC].
 +
 
 +
===Organisation des fichiers Arduino===
 +
En référence à l'article [http://www.didel.com/coursera/GererFichiers.pdf Gérer vos fichiers Arduino] et selon l'exemple du fichier volumineux [https://github.com/AIREL46/SCAO/blob/master/Arduino/e-p-wifi/e-p-wifi.ino e-p-wifi.ino], une organisation en plusieurs fichiers devient nécessaire. Le principe est de mettre les définitions, fonctions, modules dans des fichiers [https://en.wikipedia.org/wiki/Include_directive "header"] séparés, par exemple '''a.h''', et de l'appeler avec l'ordre :
 +
 
 +
<code>#include a.h</code>.
 +
 
 +
Le programme Arduino peuta être divisé en 5 paragraphes :
 +
# Introduction
 +
# Initiation des paramètres
 +
# Fonctions spécifiques
 +
# Fonction setup
 +
# Fonction loop
 +
Supposons que nous voulions organiser notre fichier .ino en 2 fichiers séparés, la procédure est la suivante :
 +
* créer dans le même répertoire un nouveau fichier, par exemple a.h
 +
* concernant les paragraphes 1, 2 et 3 :
 +
** dans le fichier .ino sélectionner puis couper les lignes que vous souhaitez transférer dans le fichier a.h
 +
** coller ces lignes dans le fichier a.h
 +
** répéter l'opération pour chaque paragraphe
 +
* au paragraphe 2 le déclarer par <code>#include a.h</code>
 +
* concernant le paragraphe 4 setup :
 +
** procéder au transfert des lignes de code comme précédemment (couper puis coller)
 +
** dans le fichier .ino appeler le fonction <code>setup_a ();</code>
 +
** dans le fichier a.h créer la fonction void setup_a () {lignes de code précédemment copier}
 +
* concernant le paragraphe 5 loop limiter au strict minimum le nombre de lignes de code en appelant les fonctions spécifiques qui se trouvent au paragraphe 3.
 +
===Arduino forum===
 +
Avant d'utiliser le forum, il est prudent de prendre connaissance du [https://forum.arduino.cc/index.php?topic=148850.0 How to use Arduino forum].
 +
 
 +
Ce document comporte 16 rubriques, les 5 premières sont essentielles, elles sont rappeler ci-dessous :
 +
* 1. Register and '''sign in''' (en français connection, tandis que '''sign out''' veut dire déconnexion)
 +
* 2. Choose an appropriate forum section - '''Attention''' cette étape est '''indispensable''' pour avoir accès au '''New Topic button''' [5] qui permet l'édition d'une requête.
 +
* 3. Choose the correct language
 +
* 4. Do some research before posting
 +
* 5. Click on the New Topic button
 +
* 8. You can add attachments (images should be no more than a couple of hundred K bytes
 +
* 9. You can insert images.
 +
 
 +
===Gestion de versions ===
 +
Un [https://fr.wikipedia.org/wiki/Logiciel_de_gestion_de_versions logiciel de gestion de versions] est un logiciel qui permet de stocker un ensemble de fichiers en conservant la chronologie de toutes les modifications qui ont été effectuées dessus. Il permet notamment de retrouver les différentes versions d'un lot de fichiers connexes.
 +
====Git et Git-hub====
 +
Il en existe de nombreux, [https://fr.wikipedia.org/wiki/Git Git] est le logiciel créé par Linus Torvald, auteur du Kernel Linux. Il utilise des commandes comme commit, branches, merge... L'hébergement des fichiers sources s'effectue sur [https://fr.wikipedia.org/wiki/GitHub GitHub], ce qui permet de collaborer facilement sur des projets qui utilisent des logiciels libres.
 +
 
 +
La formation recommandée est [https://openclassrooms.com/courses/gerer-son-code-avec-git-et-github Gérer son code avec git et github sur Openclassroom].
 +
 
 +
Pour installer git taper dans un terminal :
 +
* <code>sudo apt install git</code>
 +
 
 +
Pour créer une copie du projet SCAO en provenance du site github, taper dans un terminal la commande :
 +
* <code>git clone https://github.com/AIREL46/SCAO</code>.
 +
 
 +
====Git-lfs====
 +
Un message de warning est affiché :
 +
 
 +
'''File Plan-de-management/plan de management.odt is 53.71 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB'''
 +
 
 +
La préconisation est :
 +
 
 +
'''You may want to try Git Large File Storage - https://git-lfs.github.com.'''
 +
 
 +
Après l'installation du paquet, lors de l'exécution de la commande :
 +
 
 +
*sudo git lfs install
 +
 
 +
une erreur survient :
 +
 
 +
/usr/local/bin/git-lfs: 1: /usr/local/bin/git-lfs: Syntax error: '''Unterminated quoted string'''
 +
 
 +
Malgré l'erreur, je teste :
 +
*sudo git add Plan-de-management/plan-de-management.odt
 +
*sudo git commit "Ajouter fichier > 50MO plan-de-management.odt"
 +
*sudo git push origin master
 +
 
 +
Dans Github, je retouve le fichier avec les commentaires :
 +
<big>View raw</big>
 +
(Sorry about that, but we can’t show files that are this big right now.)
 +
 
 +
Je clique sur View raw, la fenêtre suivante s'ouvre :
 +
[[fichier:Git-lfs-sup-50MO.png |thumb|center|upright=2 | Ouvrir en lecture seule un fichier de plus de 50MO]]
 +
Si :
 +
*je choisis ''Ouvrir avec LibreOffice Writer'', le fichier est visualisé.
 +
*je choisis ''Enregistrer le fichier'', le fichier est téléchargé et disponible dans le répertoire '''Téléchargements'''.
 +
 
 +
Je fais le même test avec le fichier plan de management_old.doc qui n'a pas fait l'objet d'un nouveau "push", le résultat est le même.
 +
Conclusion : les fichiers de plus de 50 MO sont mémorisés, par contre, ils sont visualisables qu'après un téléchargement. Donc, le paquet git-lfs n'est pas opérationnel.
 +
 
 +
Je laisse tomber git-lfs et j'en profite pour faire un peu de nettoyage.
 +
 
 +
Je supprime des fichiers inutiles, le premier :
 +
 
 +
Plan-de-management/plan de management.odt avec la commande :
 +
*sudo git rm Plan-de-management/plan de management.odt
 +
ça ne marche pas parce que Ubuntu n'aime pas les espaces, je contourne la difficulté avec :
 +
*sudo git rm Plan-de-management/'''<big>"</big>'''plan de management.odt'''<big>"</big>'''
 +
Les suivants :
 +
*Plan-de-management/plan de management_old.doc
 +
*BOINC/BOINC.odt.
 +
 
 +
====Synchronisation des 2 ordinateurs====
 +
Pour les 2 ordinateurs, le fixe et le portable, l'objet est d'assurer la conformité des contenus de leur répertoire SCAO respectif selon la règle de [https://fr.wikipedia.org/wiki/Synchronisation_de_fichiers synchronisation de fichiers].
 +
 
 +
Une fois par semaine, sur l''''ordinateur fixe''', dans le répertoire SCAO :
 +
* sudo git status
 +
* En fonction du résultat, effectuer l'ajout des nouveaux fichiers et terminer par :
 +
** sudo git commit -a, cette commande va ouvrir fichier SCAO/.git/COMMIT_EDITMSG, dans ce fichier indiquer la raison du commit
 +
** ctrl x
 +
** sauver l'espace modifié ? Oui
 +
* sudo git push origin master
 +
* sur l''''ordinateur portable''' :
 +
** sudo git pull origin master.
 +
 
 +
===Compacter des fichiers avec la commande zip===
 +
Pour regrouper le contenu d'un répertoire en vue de l'envoyer à un correspondant.
 +
 
 +
'''zip - package and compress (archive) files'''
 +
 
 +
Ouvrir un terminal et taper la commande (exemple) :
 +
* zip quiet-cook.zip tp_quiet-cook
 +
===Libraries===
 +
En bon français, il faut dire [https://fr.wikipedia.org/wiki/Biblioth%C3%A8que_logicielle bibliothèque logicielle].
 +
 
 +
En anglais [https://en.wikipedia.org/wiki/Library_(computing) Library_(computing)].
 +
 
 +
Une bibliothèque logicielle est une collection de routines, qui peuvent être déjà compilées et prêtes à être utilisées par des programmes.
 +
 
 +
Pour éviter toute confusion linguistique, l'appellation utilisée par la suite sera celle issue de l'anglais : '''"library"'''.
 +
 
 +
Au fur et à mesure des besoins ces libraries, installées sur le disque dur de l'ordinateur, se multiplient.
 +
 
 +
Sur l'ordinateur fixe ASUS, ces libraries sont présentent dans les répertoires :
 +
* /home/leruste/Téléchargements/teensy/avr/libraries
 +
* /home/leruste/Téléchargements/arduino-1.6.9/libraries
 +
* /root/Arduino/libraries.
 +
====Installation des libraries====
 +
La plupart des librairies se trouve sur le site github, un exemple :
 +
 
 +
la librarie [https://github.com/PaulStoffregen/Time '''Time''' publié par Paul Stoffregen].
 +
 
 +
Pour trouver une librarie sur le site github, il convient d'utiliser le [https://github.com moteur de recherche] à gauche du logo. En tapant "Chrono" on trouve :
 +
 
 +
[https://github.com/SofaPirate/Chrono Chrono publié par Sofian Audry and Thomas Ouellet Fredericks]
 +
 
 +
Pour installer ces libraries sur un ordinateur, dans notre exemple, sur l' '''ASUS''', [https://github.com Github] propose deux méthodes :
 +
# le [https://fr.wikipedia.org/wiki/Clonage_(programmation) clonage]
 +
# le [https://fr.wikipedia.org/wiki/Clonage_(programmation) téléchargement].
 +
 
 +
D'autre part, le répertoire privilégié par le compilateur de l'arduino IDE est :
 +
 
 +
'''/root/Arduino/libraries'''
 +
 
 +
Dans le cas du clonage et dans l'exemple de la library '''Chrono''', dans un terminal, tapez successivement :
 +
* cd /root/Arduino/libraries
 +
* Sudo git clone https://github.com/SofaPirate/Chrono
 +
 
 +
Dans le cas du téléchargement, sur le site Github, effectuer le téléchargement, sur l'ordinateur, il en résulte le fichier '''~Téléchargements/Chrono-master.zip''', 2 méthodes d'installation s'offrent à vous :
 +
* Pour [https://www.arduino.cc/en/Guide/Libraries installer des nouvelles libraries sous l'Arduino IDE].
 +
La copie d'écran ci-dessous donne l'exemple de la sélection du fichier '''Chrono-master.zip''' :
 +
[[Fichier:librarie-download.png|vignette|centré|upright=2 | Sélection du fichier .zip]]
 +
 
 +
* Décompresser les fichiers puis les déplacer dans le répertoire /root/Arduino/libraries.
 +
 
 +
====Arduino Wrapper library====
 +
J'ai rencontré pour la première fois cette terminologie de
 +
[https://en.wikipedia.org/wiki/Wrapper_library "wrapper library"] en installant la librairie
 +
[https://github.com/Overdrivr/Telemetry-arduino Telemetry Arduino].
 +
 
 +
===Pytelemetry Command Line Interface===
 +
Le [https://github.com/Overdrivr/pytelemetrycli "Pytelemetry Command Line Interface"] est complémentaire de la fonction réalisée par [https://github.com/Overdrivr/Telemetry-arduino "Telemetry"].
 +
 
 +
Il permet, à partir de l'ordinateur, la réception des données envoyées par le microcontrôleur ainsi que leur visualisation.
 +
Pour installer ce module, il faut disposer de :
 +
* du langage de programmation [https://www.python.org/ Python] '''3.3''' + PyQt4 and numpy
 +
* du [https://fr.wikipedia.org/wiki/Gestionnaire_de_paquets gestionnaire de paquets][https://pypi.org/project/pip/ pip] spécifique à [https://www.python.org/ Python].
 +
* le paquet [https://pypi.org/project/pytelemetrycli/1.1.0/ Pytelemetry Command Line Interface]
 +
Une installation de ce module a été entreprise, 2 problèmes ont été rencontrés :
 +
* Ubuntu 16.04 LTS permet l'installation de python des versions '''2.7.x''' (2.7.12 sur l'ordinateur ASUS) mais pas au delà
 +
* le [https://fr.wikipedia.org/wiki/Gestionnaire_de_paquets gestionnaire de paquets][https://pypi.org/project/pip/ pip] génère une erreur : cannot import name main.
 +
 
 +
'''Conclusion''' : ce module [https://github.com/Overdrivr/pytelemetrycli "Pytelemetry Command Line Interface"] semble avoir été développé pour le monde de Windows sans préoccupation de sa compatibilité au monde de Linux.
 +
 
 +
Néanmoins, cette expérience aura permis d'explorer le langage de programmation [https://www.python.org/ Python] qui semble être, en complément du langage BASH, un langage adapté pour développer des programmes dédiés au PC qui pourraient dialoguer avec le microcontrôleur.
  
 
==Les logiciels==
 
==Les logiciels==
 +
===DFINITY Foundation===
 +
En référence à l'article de Planet Linux n°116 scanné ci-dessous :
 +
[[Fichier:Dfinity.png|vignette|centré|upright=2 | Dfinity]]
 +
The [https://dfinity.org/foundation DFINITY Foundation] is a not-for-profit organization based in Zurich, Switzerland, and oversees research centers in Palo Alto, San Francisco, and Zurich.
 +
 +
DFINITY was founded in 2016 by [https://www.linkedin.com/in/thedwilliams/ Dominic Williams].
 +
 +
DFINITY introduit la notion d'Internet computer dont il donne la définition suivante :
 +
* The Internet Computer extends the functionality of the public Internet so that it can host [https://en.wikipedia.org/wiki/Front_end_and_back_end backend] software, transforming it into a global compute platform.
 +
* En français : l’ordinateur Internet étend les fonctionnalités de l’Internet public afin qu’il puisse héberger des logiciels d’[https://fr.wikipedia.org/wiki/Backend arrière-plan], le transformant en une plate-forme informatique mondiale.
 +
 +
L'utilisation par les développeurs de l'Internet computer :
 +
* Using the Internet Computer, developers can create websites, enterprise [https://en.wikipedia.org/wiki/Information_technology IT] systems and internet services by installing their code directly on the public Internet and dispense with server computers and commercial cloud services.
 +
* À l’aide de l’ordinateur Internet, les développeurs peuvent créer des sites Web, des systèmes informatiques d’entreprise et des services Internet en installant leur code directement sur l’Internet public et se passer d’ordinateurs serveurs et de services infonuagiques commerciaux.
 +
Un article intitulé ''"Le fabuleux projet d’un Internet Computer va-t-il voir le jour?"'' est publié par ICT journal est accessible par le lien : 
 +
[https://www.ictjournal.ch/news/2020-07-06/le-fabuleux-projet-dun-internet-computer-va-t-il-voir-le-jour Ict journal].
 +
 +
A l'attention des développeurs un '''S'''oftware '''D'''evelopment '''K'''it '''(SDK)''' est accessible sur le site [https://dfinity.org/foundation DFINITY Foundation].
 +
 +
Il est nommé '''DFINITY Canister SDK'''. Sous Ubuntu, il peut être installé  à partir d'une [https://sdk.dfinity.org/docs/download.html commande curl] dans un terminal.
 +
 +
Après installation du SDK, il est accessible en mode ''"command-line interface (CLI)"'' à partir du même terminal. Il suffit de taper la commande <code>'''dfx'''</code> (abréviation de <code>'''df'''inity e'''x'''ecutor</code>) en respectant l'usage suivant :
 +
* <code>'''dfx [FLAGS] [OPTIONS] [SUBCOMMAND]'''</code>, par exemple :
 +
* <code>'''dfx --version'''</code>, en outre, les détails de la commande <code>'''dfx'''</code> peuvent être affichés par :
 +
* <code>'''dfx --help'''</code>.
 +
 +
Le SDK est complété par :
 +
* l'éditeur [https://code.visualstudio.com/download Visual Studio Code] équipé de l'extension : ''Motoko language support published by DFINITY Foundation''.
 +
 +
The Motoko programming language is a new, modern, type-sound language designed for developers who want to build the next generation of apps and services to run directly on the internet. Motoko is specifically designed to support the unique features of the Internet Computer and to provide a familiar yet robust programming environment.
 +
 +
===Processing===
 +
[https://fr.wikipedia.org/wiki/Processing Processing] is a flexible software sketchbook and a language for learning how to code within the context of the visual arts.
 +
 +
[https://processing.org/ Accès au Site processing]
 +
 +
===Consulter les logs===
 +
''"Être capable de chercher dans les logs peut se révéler indispensable. Les journaux de log sont stockés dans le répertoire /var/log/ et sont consultables grâce aux commandes tail, grep et zgrep."''
 +
 +
La phrase ci-dessus est un copier/coller du site [https://wiki.debian-fr.xyz/Consulter_les_logs_:_quoi,_o%C3%B9_et_comment_chercher_%3F Debian].
 +
 +
Sous Ubuntu, ce répertoire /var/log contient des journaux d'événements éditer au fil de l'eau par le processeur. C'est une sorte d'espion qui enregistre tous les événements survenus lors d'une [https://fr.wikipedia.org/wiki/Session_(informatique) session informatique].
 +
 +
Le logiciel [https://fr.wikipedia.org/wiki/Daemon_(informatique) (daemon)] qui gère ces journaux d'événements est [https://fr.wikipedia.org/wiki/Rsyslog rsyslog]. Ces événements permettent de repérer plus rapidement et efficacement les défaillances des ordinateurs.
 +
 +
Voir également [https://fr.wikibooks.org/wiki/Le_syst%C3%A8me_d%27exploitation_GNU-Linux/Les_fichiers_journaux_syslog Les fichiers journaux syslog].
 +
 +
Pour lister les fichiers log, taper la commande :
 +
* <code>'''ls -l /var/log/*.log'''</code>
 +
 +
Prenons l'exemple du fichiers des authentifications (auth.log).
 +
 +
Pour afficher les 10 dernières lignes de ce fichier log, taper la commande :
 +
* <code>'''tail -f /var/log/auth.log'''</code>
 +
 +
Pour éditer l'un de ce même fichier, taper la commande :
 +
* <code>'''gedit /var/log/auth.log'''</code>
 +
 +
Le contenu d'une ligne est par exemple :
 +
* <code>'''Jun 15 11:22:37 airel-System-Product-Name systemd-logind[634]: New session 4 of user airel.'''</code>
 +
 +
Dans chaque ligne d'évènement on distingue :
 +
* La date et l'heure à laquelle l'évènement a été déclenché : Jun 15 11:22:37
 +
* Le processus déclencheur de l'évènement :airel-System-Product-Name
 +
* Le processus ayant demandé l'ajout du message correspondant au log : systemd-logind[634]
 +
* Le niveau de gravité du message (priority) : ?
 +
* La désignation de l'événement : New session 4 of user airel.
 +
 +
 +
 +
rsyslog possède un fichier de configuration rsyslog.conf, il est stocké dans le répertoire /etc . On peut modifier ce fichier pour l'adapter à nos besoins en messages d'évènements survenus sur le système : envoi de mail, authentification, etc... Le fichier rsyslog.conf comporte en fin de fichier une ligne :
 +
* <code>'''$IncludeConfig /etc/rsyslog.d/*.conf'''</code>
 +
qui inclus les fichiers contenus dans le répertoire '''rsyslog.d'''. Ces fichiers sont :
 +
* <code>'''20-ufw.conf''' et '''50-default.conf'''</code>
 +
 +
Extrait du contenu du fichier '''50-default.conf''' :
 +
* <code>auth,authpriv.* /var/log/auth.log</code>
 +
* <code>*.*;auth,authpriv.none -/var/log/syslog</code>
 +
* <code>#cron.* /var/log/cron.log</code>
 +
* <code>#daemon.* -/var/log/daemon.log</code>
 +
* <code>kern.* -/var/log/kern.log</code>
 +
* <code>#lpr.* -/var/log/lpr.log</code>
 +
* <code>mail.* -/var/log/mail.log</code>
 +
* <code>#user.* -/var/log/user.log</code>
 +
 +
Modifions ce fichier 50-default.conf en enlevant le # qui précède '''user'''. Après avoir rebooter l'ordinateur on s'apercoit qu'un nouveau fichier a été créé sous le répertoire /var/log :
 +
* <code>'''-rw-r-----  1 syslog            adm              255188 juin  14 16:03 user.log'''</code>
 +
 +
Pour une défaillance donnée, la grande difficulté est de trouver parmi ces journaux, l'information pertinente qui va permettre d'orienter le diagnostic.
 +
 +
Ce moyen peut s'avérer précieux pour aider à diagnostiquer des pannes aléatoires. Celle qui m'intéresse en particulier est [https://github.com/AIREL46/SCAO/wiki/Anomalies-de-fonctionnement l'anomalie N°30]. Le constat est : ''Après en moyenne 15mn de fonctionnement, l'ordinateur est brutalement mis en état de "shutdown". Indifféremment, cette anomalie apparaît sous Ubuntu 18.04 ou sous Windows XP.''
 +
 +
 +
===Where can I find the log file of my system temperature?===
 +
Je m'oriente vers le forum askubuntu [https://askubuntu.com/questions/96957/where-can-i-find-the-log-file-of-my-system-temperature where-can-i-find-the-log-file-of-my-system-temperature].
 +
 +
Je concrétise les fichiers et je test le script proposé par [https://askubuntu.com/users/6005/jrg jrg].
 +
 +
Le script fonctionne, le problème toutefois est que l'application [https://doc.ubuntu-fr.org/lm-sensors lm-sensors] ne détecte pas toutes les sondes.
 +
 +
Pour détecter les sondes il faut lancer :
 +
* <code>'''sudo sensors-detect'''</code>
 +
 +
J'ai essayé plusieurs fois mais il y a toujours des erreurs.
 +
 +
L'installation sous Windows de Speedfan et Specy a demandé 2 minutes et ils fonctionnent correctement.
 +
 +
J'ai fait la même installation et les mêmes essais sur le portable LDLC (Ubuntu 20.04 LTS), le résultat est le même sauf quil n'y a pas d'erreur détectée.
 +
 +
'''Conclusion :''' J'arrête les investigations, c'est un projet qui m'intéresse que je confierai à un informaticien.
 +
 +
N.B. : Le chip IT8712F-J installé sur la carte mère interface les différents capteurs de température, mesure des tensions et vitesse des ventilateurs. Voir sa [http://www.datasheetcatalog.com/datasheets_pdf/I/T/8/7/IT8712F.shtml datasheeet] à la page 23.
 +
 +
===Unified Modeling Language (UML)===
 +
Le [https://fr.wikipedia.org/wiki/UML_(informatique) Langage de Modélisation Unifié], de l'anglais Unified Modeling Language (UML), est un langage de modélisation graphique à base de pictogrammes conçu pour fournir une méthode normalisée pour visualiser la conception d'un système. Il est couramment utilisé en développement logiciel.
 +
 +
Le besoin initial est le [https://plantuml.com/fr/activity-diagram-legacy diagramme d'activité] pour :représenter les fonctions logicielles.
 +
 +
Les logiciels sont nombreux et le plus souvent payants. Dans le cadre de ce projet :
 +
* le site [https://www.predictiveanalyticstoday.com/open-source-free-unified-modeling-language-uml-tools/ 40 open source, free and top UML tools] permet d'orienter le choix
 +
* [https://app.lucidchart.com/documents#/dashboard lucidchart] qui est un logiciel propriétaire et accessible en ligne. Attention, il est gratuit mais dès que vous avez besoin d'une fonctionnalité particulière, c'est payant, bravo !
 +
* une alternative est [https://plantuml.com/fr/ plantuml]
 +
 +
 +
Ce logiciel est disponible sous la forme d'un fichier [https://fr.wikipedia.org/wiki/JAR_(format_de_fichier) .jar (java archive)] qu'il faut [https://plantuml.com/fr/download télécharger].
 +
 +
La particularité principale de Java est que les applications écrites dans ce langage sont très facilement portables sur plusieurs systèmes d’exploitation tels que UNIX, Windows®, Mac OS® ou GNU/Linux®, avec peu ou pas de modifications.
 +
 +
Si Java est déja installé sur l'ordinateur, il n'y a pas d'installation supplémentaire, pour utiliser le .jar, il faut se référer à la [https://doc.ubuntu-fr.org/java doc ubuntu]. la commande est :
 +
 +
<code>'''java -jar plantuml.jar -gui'''</code>
 +
 +
En complément, il faut installer [https://www.graphviz.org/download/ Graphviz] :
 +
* <code>'''sudo apt install graphviz'''</code>
 +
 +
Une autre alternative est [https://fr.wikipedia.org/wiki/Dia_(logiciel) Dia (wikipedia)] accessible sur le site [https://wiki.gnome.org/Apps/Dia Dia]. Dia est un logiciel libre de création de diagramme développé en tant que partie du projet GNOME.
 +
 +
Dia fait appel à des bibliothèques de symboles spécifiques à de nombreux domaines. Ces domaines sont principalement : électricité, électronique, circuits logiques, logiciel (graphes de flux), réseau, ordinateur, téléphone, UML, etc...
 +
 +
Pour créer sous dia un fond de couleur en arrière plan :
 +
* définir un rectangle de la dimension de la page, le sélectionner et dans propriétés définir la couleur du remplissage
 +
* dessiner au dessus du fond de couleur.
 +
 +
Voir [https://fablabo.net/wiki/Atelier_logiciel#Choix_des_couleurs choix des couleurs].
 +
 +
===Le langage de programmation===
 +
Un [https://fr.wikipedia.org/wiki/Langage_de_programmation langage de programmation] est une notation conventionnelle destinée à formuler des [https://fr.wikipedia.org/wiki/Algorithme algorithmes] et produire des [https://fr.wikipedia.org/wiki/Algorithme programmes informatiques] qui les appliquent.
 +
 +
La [https://fr.wikipedia.org/wiki/Liste_de_langages_de_programmation liste de langages de programmation] est impressionnante.
 +
 +
Dans le cadre du projet [http://fablabo.net/wiki/SCAO SCAO], les langages de programmation utilisés sont limités au strict nécessaire :
 +
* l'[https://fr.wikipedia.org/wiki/Arduino#Logiciel Aduino IDE] pour les [http://fablabo.net/wiki/Atelier_logiciel#Les_plateformes plateformes microcontrôleurs]
 +
* le [https://fr.wikipedia.org/wiki/Bash Bash] qui est l'interpréteur de scripts du projet [https://fr.wikipedia.org/wiki/GNU GNU] pour les ordinateurs
 +
* le [https://fr.wikipedia.org/wiki/Python_(langage) Python] qui met en oeuvre son propre [https://fr.wikipedia.org/wiki/Gestionnaire_de_paquets gestionnaire de paquets] [https://fr.wikipedia.org/wiki/Pip_(gestionnaire_de_paquets) pip], voir le site web [http://www.python.org/ Phyton]. En particulier, il est utilisé par le [https://github.com/Overdrivr/pytelemetrycli Pytelemetry Command Line Interface] traité dans un paragraphe séparé [http://fablabo.net/wiki/Atelier_logiciel#Pytelemetry_Command_Line_Interface Pytelemetry Command Line Interface].
 +
 +
Ces langages de programmation sont complétés par les langages spécifiques des [http://fablabo.net/wiki/Atelier_logiciel#Les_logiciels_applicatifs logiciels applicatifs].
  
 
===Les systèmes d'exploitation===
 
===Les systèmes d'exploitation===
Ligne 73 : Ligne 641 :
 
Une '''[https://fr.wikipedia.org/wiki/Distribution_Linux distribution]''' est un ensemble cohérent de logiciels assemblés autour de ce noyau. Le noyau est '''[https://fr.wikipedia.org/wiki/Noyau_Linux le noyau Linux]''', la distribution choisie est '''[https://en.wikipedia.org/wiki/Ubuntu_(operating_system) Ubuntu]'''.
 
Une '''[https://fr.wikipedia.org/wiki/Distribution_Linux distribution]''' est un ensemble cohérent de logiciels assemblés autour de ce noyau. Le noyau est '''[https://fr.wikipedia.org/wiki/Noyau_Linux le noyau Linux]''', la distribution choisie est '''[https://en.wikipedia.org/wiki/Ubuntu_(operating_system) Ubuntu]'''.
  
 +
===Les fichiers et répertoires cachés (exemple : Thunderbird)===
 +
En informatique, un [https://fr.wikipedia.org/wiki/Fichier_et_r%C3%A9pertoire_cach%C3%A9 fichier caché] est un fichier qui n'est visible pour un utilisateur que sur demande explicite. De façon similaire, un répertoire caché (ou dossier caché) est un répertoire qui n'est visible que sur demande.
 +
 +
Sous Linux, les fichiers cachés sont des fichiers dont le nom commence par un point ('''.'''). Ce sont le plus souvent des fichiers de configuration (.bashrc pour bash, etc.) ou des répertoires contenant des fichiers de configuration (exemple .ssh pour SSH, .kde pour KDE, .gconf pour GConf, .mozilla et .thunderbird pour des logiciels de Mozilla, etc.).
 +
 +
La commande ls par défaut n'affiche pas les fichiers et répertoires cachés (il faut préciser ls --all).
 +
 +
Ces fichiers et répertoires sont accessibles à partir du dossier de l'utilisateur symbolisé par le caractère spécial '''~'''.
 +
 +
Ils sont sauvegardés systématiquement avec les autres fichiers de l'utilisateur.
 +
 +
L'exemple typique est la messagerie Thunderbird, le répertoire caché est :
 +
* <code>'''.thunderbird'''</code>
 +
 +
Thunderbird enregistre vos informations personnelles telles que les messages, les carnets d’adresses, les mots de passe et les préférences dans un ensemble de fichiers appelé « profil », qui est stocké dans un emplacement différent des fichiers de programme de Thunderbird.
 +
 +
Dans cette exemple pour migrer la messagerie d'un ordinateur à un autre, il faut copier puis coller le répertoire .thunderbird et son contenu.
  
 
===The Linux Boot Process===
 
===The Linux Boot Process===
Ligne 87 : Ligne 672 :
 
====Le BIOS====
 
====Le BIOS====
 
Le '''[https://en.wikipedia.org/wiki/BIOS BIOS]''' contenu dans la '''[https://en.wikipedia.org/wiki/EEPROM mémoire EEPROM]''' de la carte mère de l'ordinateur permet d'effectuer des opérations de base lors de la mise sous tension. En particulier, le '''[https://en.wikipedia.org/wiki/Power-on_self-test POST]''' qui consiste à un ensemble de tests. Lors du déroulement du BIOS, l'appui sur la touche '''Suppr.''' permet l'entrée dans le '''[https://en.wikipedia.org/wiki/BIOS#Setup_utility BIOS setup utility]''' pour définir ou modifier un ensemble de paramètres de configuration.
 
Le '''[https://en.wikipedia.org/wiki/BIOS BIOS]''' contenu dans la '''[https://en.wikipedia.org/wiki/EEPROM mémoire EEPROM]''' de la carte mère de l'ordinateur permet d'effectuer des opérations de base lors de la mise sous tension. En particulier, le '''[https://en.wikipedia.org/wiki/Power-on_self-test POST]''' qui consiste à un ensemble de tests. Lors du déroulement du BIOS, l'appui sur la touche '''Suppr.''' permet l'entrée dans le '''[https://en.wikipedia.org/wiki/BIOS#Setup_utility BIOS setup utility]''' pour définir ou modifier un ensemble de paramètres de configuration.
 +
 +
La mise à jour du BIOS sous ubuntu est possible mais délicate. Dans la [https://doc.ubuntu-fr.org/flasher_le_bios documentation ubuntu] deux méthodes sont proposées, la première en émulant DOS, la seconde avec [https://www.flashrom.org/Flashrom Flashrom].
 +
 +
J'ai essayé la méthode Flashrom sur deux ordinateurs mais sans succès car les cartes mères ne sont pas supportées par Flashrom.
 +
====L'UEFI====
 +
Le standard [https://fr.wikipedia.org/wiki/UEFI UEFI] (de l’anglais Unified Extensible Firmware Interface) définit une interface entre le micrologiciel (firmware) et le système d'exploitation (OS) d'un ordinateur. Cette interface succède sur certaines cartes-mères au BIOS.
 +
  
 
====Le Boot loader (Grub)====
 
====Le Boot loader (Grub)====
*le Boot loader qui correspond à l'exécution du fichier grub (/boot/grub/grub.cfg) qui se trouve sur 512 premiers bytes du disque dur concerné par le boot, les étapes sont :
+
Le Boot loader qui correspond à l'exécution du fichier grub (/boot/grub/grub.cfg) qui se trouve sur 512 premiers bytes du disque dur concerné par le boot, les étapes sont :
*un menu apparaît à l'écran qui invite l'utilisateur à choisir le système d'exploitation (Linux ou Windows XP) ou des tests ainsi que le lancement de Linux en mode "recover".
+
*un menu qui apparaît à l'écran et invite l'utilisateur à choisir le système d'exploitation (Linux ou Windows XP) ou des tests ainsi que le lancement de Linux en mode "recover",
N.B. : En tapant '''"c"''', grub affiche une invite de commande, il est alors possible de modifier des paramètres.
+
 
 +
(N.B. : En tapant '''"c"''', grub affiche une invite de commande, il est alors possible de modifier des paramètres)
  
*Après la temporisation ou le choix de l'utilisateur grub effectue les opérations suivantes :  
+
*après la temporisation ou le choix de l'utilisateur grub effectue les opérations suivantes :  
 
**chargement du kernel dans la RAM
 
**chargement du kernel dans la RAM
 
**décompression
 
**décompression
Ligne 110 : Ligne 703 :
 
Concernant l'ordinateur fixe, la copie d'écran ci-dessous donne le détail des partitions du disque dur 150 GO : [[fichier:150GO-sda.png |thumb|center|upright=2 | partitions du disque dur 150 GO]]
 
Concernant l'ordinateur fixe, la copie d'écran ci-dessous donne le détail des partitions du disque dur 150 GO : [[fichier:150GO-sda.png |thumb|center|upright=2 | partitions du disque dur 150 GO]]
 
Le détail pour '''/dev/sda''' organisé en '''[https://fr.wikipedia.org/wiki/Multiboot multiboot]''' (Windows XP et Linux) est :
 
Le détail pour '''/dev/sda''' organisé en '''[https://fr.wikipedia.org/wiki/Multiboot multiboot]''' (Windows XP et Linux) est :
*Représentation graphique des partitions, en jaune l'espace occupé, en blanc l'espace disponible
+
*représentation graphique des partitions, en jaune l'espace occupé, en blanc l'espace disponible
*Dans le tableau de gauche, informations sur le périphérique
+
*dans le tableau de gauche, informations sur le périphérique
*Dans le tableau de droite :
+
*dans le tableau de droite :
 
**la '''partition'''
 
**la '''partition'''
 
**le '''système de fichier'''
 
**le '''système de fichier'''
Ligne 119 : Ligne 712 :
 
**l'espace '''utilisé'''
 
**l'espace '''utilisé'''
 
**l'espace '''inutilisé'''
 
**l'espace '''inutilisé'''
**Les '''drapeaux''' boot ou '''[https://fr.wikipedia.org/wiki/Logical_block_addressing lba]'''
+
**les '''drapeaux''' boot ou '''[https://fr.wikipedia.org/wiki/Logical_block_addressing lba]'''
 
La première partition '''/dev/sda1''' utilise le système de fichiers '''ntfs''' correspondant au système d'exploitation Windows XP de microsoft.
 
La première partition '''/dev/sda1''' utilise le système de fichiers '''ntfs''' correspondant au système d'exploitation Windows XP de microsoft.
La seconde partition /dev/sda2 est '''"extended"''', elle se subdivise en :
+
La seconde partition /dev/sda2 est '''"extended"''' se subdivise en :
 
*/dev/sda5 - ntfs - Données -  
 
*/dev/sda5 - ntfs - Données -  
 
*non alloué
 
*non alloué
 
*/dev/sda7 - ext4 correspondant au système d'exploitation Linux
 
*/dev/sda7 - ext4 correspondant au système d'exploitation Linux
 
*/dev/sda8 - Linux-'''[https://fr.wikipedia.org/wiki/Swap swap]''' correspondant au système d'exploitation Linux
 
*/dev/sda8 - Linux-'''[https://fr.wikipedia.org/wiki/Swap swap]''' correspondant au système d'exploitation Linux
*/dev/sda6 - ext4 correspondant au système d'exploitation Linux. '''La partition est quasiment pleine et aurait besoin d'être agrandie''', un redimensionnement de la cette partition a été tenté mais la tentative a échouée. Pour cette raison, Linux a été également installé sur le second disque de 500 GO.
+
*/dev/sda6 - ext4 correspondant au système d'exploitation Linux. '''La partition est quasiment pleine et aurait besoin d'être agrandie''', un redimensionnement de la partition a été tenté mais la tentative a échoué. Pour cette raison, Linux a été également installé sur le second disque de 500 GO.
 +
===Minicom===
 +
[https://salsa.debian.org/minicom-team/minicom Minicom is a serial communication program].
 +
 
 +
Ce programme permet de remplacer le moniteur série de l'Arduino IDE.
 +
 
 +
Pour installer le paquet minicom :
 +
* voir [https://doc.ubuntu-fr.org/minicom le wiki ubuntu.fr].
 +
 
 +
Pour initialiser le port ttyACM0 (par exemple) et éviter l'erreur ''"ne peut ouvrir /dev/modem"''  :
 +
* <code>'''sudo minicom -D /dev/ttyACM0 -b 9600'''</code>
 +
 
 +
Pour le configurer :
 +
* <code>'''sudo minicom -s'''</code>
 +
 
 +
Pour le lancer avec l'option de capture des données dans un fichier :
 +
* <code>'''sudo minicom -C nom_du_fichier'''</code>.
 +
 
 +
===Formater un support===
 +
En référence à Planète Linux n°112, il s'agit de formater un support tels qu'un disque dur ou une clé USB. Dans l'exemple qui suit, il s'agit d'une clé USB connectée au préalable à une embase USB de l'ordinateur. Le principe consiste en 2 opérations successivesest : 1 - démonter la clé, 2 -  la formater. Ensuite, en options, vous pouvez la renommer et la vérifier. Le logiciel utilisé est Gparted (voir le paragraphe Les partitions) que l'on exécute en mode sudo.
 +
 
 +
La procédure est la suivante :
 +
* sauvegarder les fichiers
 +
* ouvrir un terminal (Ctrl-Alt-T) et lancer gparted <code>$~sudo gparted</code>
 +
* cliquer sur l'onglet GParted - Périphériques - choisir la partition /dev/sdg correspondante à l'étiquette "NEW_VOLUME" de la clé USB
 +
* cliquer sur la partition sdg1 (attention : dans les opérations à suivre répéter cette opération si nécessaire)
 +
* cliquer sur l'onglet Partition - Démonter
 +
* cliquer sur l'onglet Partition puis sur la partition sdg1
 +
* cliquer sur l'onglet Partition - Formater en fat32
 +
* cliquer sur l'onglet Edition - Appliquer toutes les opérations - Appliquer - Fermer
 +
* cliquer sur l'onglet Partition - Etiqueter le système de fihier - nommer : BIDON (par exemple)
 +
* cliquer sur l'onglet Partition - Vérifier
 +
* cliquer sur l'onglet Edition - Appliquer toutes les opérations - Appliquer - Fermer.
 +
 
 +
La clé est maintenant formatée mais elle n'est pas montée. En effet, si vous cliquer sur l'onglet partition, vous vous apercevez que l'option "monter" est grisée donc non opérationnelle. La meilleure solution pour monter la clé est de rebooter l'ordinateur.
 +
 
 +
Après avoir rebooter vous vous apercevez que la clé BIDON est présente sur le bureau. Elle est donc maintenant utilisable avec les précautions d'usage.
 +
 
 +
===Le terminal===
 +
[https://doc.ubuntu-fr.org/terminal Le terminal]
 +
====[https://doc.ubuntu-fr.org/xterm Xterm]====
 +
[http://www.delafond.org/traducmanfr/man/man1/xterm.1.html#lbAJ Manuel xterm]
 +
 
 +
Le copier-coller : vous surlignez en balayant une zone de texte bouton gauche enfoncé, et vous collez en cliquant du bouton central.
 +
 
 +
Les menus de Xterm (maintenir appuyé simultanément les touches CTRL et l'une des 3 de la souris :
 +
* gauche (main menu)
 +
* milieu (VT options)
 +
* droite (Unicode fonts).
 +
[http://www.delafond.org/survielinux/index.html Guide de survie sous Linux]
 +
 
 
===Le navigateur===
 
===Le navigateur===
 
Un [https://fr.wikipedia.org/wiki/Navigateur_web navigateur web] («browser» en anglais) est un logiciel conçu pour consulter et afficher le World Wide Web.
 
Un [https://fr.wikipedia.org/wiki/Navigateur_web navigateur web] («browser» en anglais) est un logiciel conçu pour consulter et afficher le World Wide Web.
Ligne 134 : Ligne 777 :
 
Il est développé par [https://www.mozilla.org/fr/firefox/ Mozilla].
 
Il est développé par [https://www.mozilla.org/fr/firefox/ Mozilla].
  
Dans le cadre du projet [http://fablabo.net/wiki/Site-web site-web], il permet dans la phase de développement, le test des fichiers html et css avec la commande :
+
La sécurité de firefox est traité sur Github dans un article intitulé [https://github.com/AIREL46/SCAO/wiki/S%C3%A9curit%C3%A9-informatique "Sécurité informatique"].
 +
 
 +
Dans le cadre du projet [http://fablabo.net/wiki/Site-web site-web], il permet dans la phase de développement le test des fichiers html et css avec la commande :
 
* firefox  SCAO/wiki/tp_quiet-cook/index.html
 
* firefox  SCAO/wiki/tp_quiet-cook/index.html
 
Dans la phase opérationnelle :
 
Dans la phase opérationnelle :
 
* <code>firefox http://quiet-cook.com</code>
 
* <code>firefox http://quiet-cook.com</code>
  
* Le module [https://www.mozilla.org/fr/firefox/features/sync/ sync], après création d'un compte Firefox, permet de se connecter au Web, à partir de l'ordinateur fixe, du portable ou d'un smartphone en accèdant aux onglets ouverts, aux marque-pages et aux mots de passe qui ont été initialisés par l'un des trois appareils. Les paramètres de synchronisation sont accessibles et modifiables par le menu de firefox en cliquant sur '''"ouvrir les préférences de sync"'''.
+
* Le module [https://www.mozilla.org/fr/firefox/features/sync/ sync], après création d'un compte Firefox, permet de se connecter au Web, à partir de l'ordinateur fixe, du portable ou d'un smartphone en accédant aux onglets ouverts, aux marque-pages et aux mots de passe qui ont été initialisés par l'un des trois appareils. Les paramètres de synchronisation sont accessibles et modifiables par le menu de firefox en cliquant sur '''"ouvrir les préférences de sync"'''.
 +
 
 +
===Sécurité informatique===
 +
Cet article est accessible en [https://github.com/AIREL46/SCAO/wiki/S%C3%A9curit%C3%A9-informatique Cliquant sur le lien vers github].
 +
 
 +
===Lancement d'une application au démarrage===
 +
Le [https://doc.ubuntu-fr.org/tutoriel/application_demarrage Lancement d'une application au démarrage] dépend de l'environnement de bureau, dans notre cas, il s'agit de [https://fr.wikipedia.org/wiki/Unity_(logiciel) Unity].
 +
 
 +
Recherchez l'utilitaire "Applications au démarrage" avec l'utilitaire "Afficher les applications" et lancez-le.
 +
 
 +
N.B. : l'utilitaire "Afficher les applications" est représenté par l'icône du "dash" (3 lignes successives de 3 points).
 +
 
 +
===Lancement SCAO et Goto Bridge sous Windows en mode sans échec===
 +
En cas de difficultés pour lancer Windows XP, il est possible de le lancer en mode sans échec, avec ou sans invite de commande.
 +
Dans le cas de l'invite de commande, il faut connaître les emplavcements où se trouvent les fichiers exécutables .exe :
 +
* c:\Documents and Settings\Utilisateur\Mes Documents\builds\SCAO - 6 version 56\version \Applications.exe
 +
* c:\Program Files\Goto.Games\GotoBridge\GotoBridge 2009.exe.
 +
Pour quitter Windows :
 +
* l'invite de commande, taper exit
 +
* taper simultanément Ctrl - Alt - Suppr pour accéder au gestionnaire de tâches de Windows :
 +
** Arréter -> fermer la session utilisateur
 +
** Arrêter l'ordinateur- Arrêter.
 +
 
 +
===Mot de passe===
 +
'''Contexte :'''
 +
*Le disque dur ATA WDC WD5000AACS-0 de l'ordinateur ASSUS sur lequel est installé Ubuntu 16.04 LTS n'est plus accessible car le mot de passe dont j'ai la quasi certitude n'est plus reconnu.
 +
*La cause est vraisemblablement la non utilisation de ce disque depuis plusieurs semaines.
 +
'''Analyse :'''
 +
*le mot de passe est géré par :
 +
**2 fichiers, /etc/passwd et /etc/shadow
 +
**la commande passwd - Modifier le mot de passe d'un utilisateur.
 +
*Le statut du mot de passe est obtenu en utilisant la cde <code>passwd -S leruste</code> qui retourne sous la forme de 7 champs :
 +
**leruste P 02/27/2019 0 99999 7 -1
 +
***Le premier champ est le nom du compte.
 +
***Le second champ indique si le mot de passe est bloqué (L), n'a pas de mot de passe (NP) ou a un mot de passe utilisable (P).
 +
***Le troisième champ donne la date de dernière modification du mot de passe.
 +
***Le quatrième champ donne la durée minimum avant modification,
 +
***Le cinquième la durée maximum de validité,
 +
***Le sixième la durée d'avertissement,
 +
***Le septième la durée d'inactivité autorisée pour le mot de passe.
 +
***N.B. : Les durées sont exprimées en jours.
 +
 
 +
Sur les forums, plusieurs solutions sont proposées, sur le conseil d'[https://bluelab44.fr/ Antoine], j'essaie celle-ci :
 +
*[https://guide.ubuntu-fr.org/desktop/user-forgottenpassword.html user-forgottenpassword]
 +
**Je suis la procédure de création d'un nouveau mot de passe et j'obtiens le message suivant : ''erreur de manipulation du jeton d'identification, mot de passe inchangé.''
 +
 
 +
Concernant mon compte, le contenu du fichier /etc/passwd est :
 +
*<code>leruste:x:1000:1000:LERUSTE,,,:/home/leruste:/bin/bash</code>
 +
 
 +
===Créer un alias===
 +
Les alias sont des substitutions abrégées de commandes. Ils permettent d'exécuter la commande quelque soit le répertoire dans lequel l'on se trouve.
 +
 
 +
Pour créer un alias, consulter la [https://doc.ubuntu-fr.org/alias documentation Ubuntu].
 +
 
 +
Exemples (ligne 95 du fichier ~/.bashrc) :
 +
*<code>'''alias arduino-cli=~/arduino-cli/arduino-cli'''</code>
 +
*<code>'''alias openscad=~/openscad/OpenSCAD.AppImage'''</code>.
 +
 
 +
Après l'ajout de l'alias, taper la commande :
 +
* <code>'''source ~/.bashrc'''</code>
 +
 
 
===Installation des logiciels===
 
===Installation des logiciels===
Avant d'installer un logiciel, il convient d'identifier l'[https://doc.ubuntu-fr.org/architecture_materielle architecture materielle du processeur].
+
Avant d'installer un logiciel, il convient d'identifier l'[https://doc.ubuntu-fr.org/architecture_materielle architecture matérielle du processeur]. Voir également la
[https://fr.wikipedia.org/wiki/Architecture_de_processeur définition wikipédia]
+
[https://fr.wikipedia.org/wiki/Architecture_de_processeur définition wikipédia].
 +
 
 +
Avec Ubuntu 2 architectures sont possibles :
 +
* 32 bits
 +
* 64 bits.
 +
Il convient de donner la préférence à une architecture 64 bits si le processeur l'accepte.
 +
 
 +
L'installation d'un logiciel se concrétise par l'installation de un ou plusieurs paquets. En informatique, et en particulier dans le contexte des systèmes UNIX, on appelle [https://fr.wikipedia.org/wiki/Paquet_(logiciel) paquet] (ou parfois paquetage, en anglais package) une archive (fichier compressé) comprenant les fichiers informatiques, les informations et procédures nécessaires à l'installation d'un logiciel sur un système d'exploitation au sein d'un agrégat logiciel, en s'assurant de la cohérence fonctionnelle du système ainsi modifié.
 +
 
 +
Le tutoriel [https://doc.ubuntu-fr.org/tutoriel/comment_installer_un_paquet comment installer un paquet] peut servir de guide.
 +
 
 +
Le système de gestion  de ces paquets est [https://doc.ubuntu-fr.org/apt '''APT'''] ('''A'''dvanced '''P'''ackaging '''T'''ool).
 +
 
 +
Pour installer [http://www.openscad.org/downloads.html#linux Openscad] :
 +
* $ sudo add-apt-repository ppa:openscad/releases
 +
* $ sudo apt-get update
 +
* $ sudo apt-get install openscad
 +
 
 +
Pour obtenir une '''<big>version plus récente d'openscad</big>''', à partir du site [https://www.openscad.org/downloads.html#linux openscad] choisir, dans le paragraphe, ''"Other Linux"''  le téléchargement de ''The [https://appimage.org/ AppImage package''], 2 versions selon l'architecture sont proposées, prendre la '''X86(64bits)'''. Puis récupérer le fichier dans le répertoire Téléchargements et enfin le rendre exécutable (voir la [https://doc.ubuntu-fr.org/tutoriel/script_shell documentation Ubuntu]).
 +
 
 +
Prenons l'exemple de l'installation de l'IDE arduino-1.8.8
 +
*sur le site arduino, télécharger l’archive arduino-1.8.8-linux64.tar.xz
 +
*la décompresser puis installer avec les commandes :
 +
**tar Jxvf arduino-1.8.8-linux64.tar.xz
 +
**./arduino-linux-setup.sh $USER
 +
**reboot
 +
**lancement arduino.
 +
====Installation de l'éditeur Atom====
 +
* Sur le site [https://atom.io/ atom] télécharger atom.amd64.deb
 +
* Extraire les fichiers
 +
* Installer atom en suivant la procédure du [https://flight-manual.atom.io/getting-started/sections/installing-atom/ flight manual]
 +
* lancer atom en ligne de commande.
  
 
===Les logiciels applicatifs===
 
===Les logiciels applicatifs===
 
La modélisation des pièces constitutives du SCAO mets en œuvre trois logiciels :
 
La modélisation des pièces constitutives du SCAO mets en œuvre trois logiciels :
*'''[https://en.wikipedia.org/wiki/LibreCAD LibreCAD]''' pour les plans en 2D, pour un même plan, un empilement de calques (en anglais layers) est utilisé, chaque calque ayant sa fonction propre. Les fichiers '''[https://en.wikipedia.org/wiki/AutoCAD_DXF .dxf]''' facilitent l'échange avec les deux autres logiciels.
+
*'''[https://en.wikipedia.org/wiki/LibreCAD LibreCAD]''' : pour les plans en 2D, pour un même plan, un empilement de calques (en anglais layers) est utilisé, chaque calque ayant sa fonction propre. Les fichiers '''[https://en.wikipedia.org/wiki/AutoCAD_DXF .dxf]''' facilitent l'échange avec les deux autres logiciels.
*'''[https://en.wikipedia.org/wiki/OpenSCAD Openscad]''' pour les dessins en 3D, l'importation des fichiers .dxf est utilisé conjointement à une extrusion linéaire pour constituer des objets 3D. En d'autres termes une [https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/DXF_Extrusion extrusion linéaire à partir d'un fichier dxf].
+
*'''[https://en.wikipedia.org/wiki/OpenSCAD Openscad]''' : pour les dessins en 3D, l'importation des fichiers .dxf est utilisé conjointement à une extrusion linéaire pour constituer des objets 3D. En d'autres termes une [https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/DXF_Extrusion extrusion linéaire à partir d'un fichier dxf]. N.B. : si le fichier .dxf n'est pas dans le même répertoire, il convient d'utiliser : '''../'''LibreCAD/nom_du_fichier.dxf. The $t variable is used for '''animation'''. If you enable the animation frame with view->animate and give a value for "FPS" and "Steps", the "Time" field shows the current value of $t. Un exemple d'animation est traité dans le fichier [https://github.com/AIREL46/SCAO/blob/master/Ping/openscad/Assemblage_f.scad Assemblage_f.scad]
*'''[http://www.kicad-pcb.org/ kicad]''' pour les circuits imprimés, l'importation des fichiers .dxf est utilisé pour les empreintes de circuits intégrés (footprint).
+
*'''[https://en.wikipedia.org/wiki/Cura_(software) Cura]''' is an open source 3D printer slicing application. Il permet, à partir d'un fichier '''[https://fr.wikipedia.org/wiki/Fichier_de_st%C3%A9r%C3%A9olithographie .stl]''' produit par '''[https://en.wikipedia.org/wiki/OpenSCAD Openscad]''' de générer un fichier '''[https://fr.wikipedia.org/wiki/Programmation_de_commande_num%C3%A9rique g-code]''' exécutable sur une imprimante 3D. Ce logiciel est développé par '''[https://ultimaker.com/en/products/ultimaker-cura-software Ultimaker]''' qui met à disposition un fichier binaire qu'il suffit de télécharger et de rendre exécutable par la commande :
Ces importations apportent souplesse et précision car elles permettent de définir une fois pour toute les valeurs attribuées aux dimensions, longueurs, largeurs, entraxes, positionnement d'un objet,...etc.
+
 
 +
<code>sudo chmod +x Ultimaker_Cura-3.6.0.AppImage</code>
 +
*'''[http://www.kicad-pcb.org/ kicad]''' : pour les circuits imprimés, l'importation des fichiers .dxf est utilisé pour les empreintes de circuits intégrés (footprint). Pour kicad, voir les 2 sous-paragraphes :
 +
* Pour le [https://fablabo.net/wiki/Atelier_logiciel#Routage_d.27un_transistor_sous_kicad routage d'un transistor]
 +
* et pour [https://fablabo.net/wiki/Atelier_logiciel#Manage_Symbol_Libraries_sous_kicad Manage Symbol Libraries]
 +
Ces importations apportent souplesse et précision car elles permettent de définir une fois pour toute les valeurs attribuées aux dimensions, longueurs, largeurs, entraxes, positionnement d'un objet etc...
  
 
En compléments :
 
En compléments :
*Les schémas de la documentation sont réalisées à l'aide du logiciel '''[https://inkscape.org/fr/ Inkscape]''', un exemple de son utilisation est traité ci-dessous.
+
*Les schémas de la documentation sont réalisées à l'aide du logiciel '''[https://inkscape.org/fr/ Inkscape]'''qui fait l'objet de 2 sous-paragraphes (ci-dessous) :
 +
* le premier donne un exemple de son utilisation
 +
* le second aborde les particularités des opérations booléene.
 
*La retouche des photos et les animations sont réalisés à l'aide du logiciel '''[https://www.gimp.org/ Gimp]''', par exemple pour réduire la taille du fichier d'une photo suivre la procédure :
 
*La retouche des photos et les animations sont réalisés à l'aide du logiciel '''[https://www.gimp.org/ Gimp]''', par exemple pour réduire la taille du fichier d'une photo suivre la procédure :
 
**Lancer GIMP puis ouvrir le fichier .JPG et sélectionner le menu image,
 
**Lancer GIMP puis ouvrir le fichier .JPG et sélectionner le menu image,
 
**-> mode -> couleurs indexées -> convertir en couleurs indexées -> utiliser une palette optimisée pour le web
 
**-> mode -> couleurs indexées -> convertir en couleurs indexées -> utiliser une palette optimisée pour le web
 
** finaliser en exportant le fichier en .png
 
** finaliser en exportant le fichier en .png
** vérifier que la taille du fichier a bien diminuée et que l'image est d'une qualité correcte.
+
** vérifier que la taille du fichier a bien diminué et que l'image est d'une qualité correcte.
*La bureautique est assurée par la suite bureautique '''[https://en.wikipedia.org/wiki/LibreOffice Libre Office]'''
+
*Un autre exemple est la création d'une image animée sous la forme d'un fichier .gif :
 +
**Sous GIMP créer un fichier multi-calques .xcf
 +
**Exporter (Fichier - Exporter) ce fichier en choissisant l'extension .gif
 +
**Ce fichier .gif mise en pièce-jointe d'un e-mail crée une image animée dès l'ouverture de l'e-mail.
 +
*Encore un exemple est la découpe ou le recadrage des photos :
 +
**Outils → Outils de transformation → Découpage.
 +
*La bureautique est assurée par la suite bureautique '''[https://en.wikipedia.org/wiki/LibreOffice Libre Office]''', en particulier '''Calc''' permet de générer puis d'enrichir des diagrammes selon une procédure résumée ci-dessous :
 +
** au préalable, générer un fichier .csv avec les champs séparés par des ''';'''
 +
** sauvegarder le fichier au format .ods
 +
** '''attention au formatage des données :''' le séparateur des données numériques doit être la '''","''' et non le '''"."'''
 +
** dans la feuille de calcul, sélectionner les plages de données selon l'axe Y
 +
** à l'aide du menu, insertion - diagramme, générer un diagramme
 +
** une fenêtre s'ouvre : '''assistant de diagramme''', les étapes sont :
 +
*** type de diagramme, choisir '''ligne'''
 +
*** plages de données, ne rien modifier
 +
*** séries de données :
 +
**** dans le champ '''catégorie''' (voir la capture d'écran ci-dessous), ajouter les données correspondantes à l'axe des X en les sélectionnant : cliquer d'abord sur l'icône à l'extrême droite de la fenêtre, puis effectuer la sélection (sans la première ligne qui contient le nom de la colonne et sans appuyer sur la touche '''maj''').
 +
*** éléments du diagramme (titres, sous-titres, axes X et Y),
 +
** l'assistant de diagramme ainsi qu'un exemple de diagramme sont visualisés successivement ci-dessous :
 +
[[Fichier:assistant-diagramme.png|cadre|centré|Assistant de diagramme]]
 +
[[Fichier:journal-ec.png|cadre|centré|Exemple de diagramme]]
 
====Schémas partiels :====
 
====Schémas partiels :====
 
'''a) avec kicad et Inkscape'''
 
'''a) avec kicad et Inkscape'''
  
A partir du schéma électrique du CI CMS e-p-433 établi avec kicad, l'exemple traite du découpage d'un schéma partiel correspondant à l'amplificateur de thermocouple et de de sa récupération dans un fichier PNG. La procédure est la suivante :
+
À partir du schéma électrique du CI CMS e-p-433 établi avec kicad, l'exemple traite du découpage d'un schéma partiel correspondant à l'amplificateur de thermocouple et de de sa récupération dans un fichier PNG. La procédure est la suivante :
 
*Kicad :
 
*Kicad :
 
**sudo kicad e-p-433.pro
 
**sudo kicad e-p-433.pro
Ligne 169 : Ligne 932 :
 
*Inkscape :
 
*Inkscape :
 
**sudo inkscape e-p-433.pdf (importation du fichier e-p-433.pdf dans inkscape)
 
**sudo inkscape e-p-433.pdf (importation du fichier e-p-433.pdf dans inkscape)
**Une femêtre s'ouvre "Préférences pour l'importation du fichier pdf" - Cliquer valider
+
**Une fenêtre s'ouvre "Préférences pour l'importation du fichier pdf" - Cliquer valider
 
**Effectuer une sélection à l'aide d'une fenêtre ajustée au schéma partiel
 
**Effectuer une sélection à l'aide d'une fenêtre ajustée au schéma partiel
 
**Exporter une image PNG, choisir un nom de fichier, e-p-433-amp.png
 
**Exporter une image PNG, choisir un nom de fichier, e-p-433-amp.png
Ligne 180 : Ligne 943 :
 
** fichier - export - Export as PDF (ne pas utiliser "as image" car la qualité est mauvaise)
 
** fichier - export - Export as PDF (ne pas utiliser "as image" car la qualité est mauvaise)
 
* inkscape : voir a)
 
* inkscape : voir a)
 +
====Inkscape - Opérations booléennes====
 +
Les opérations booléennes (union, différence, intersection, exclusion et division) sont expliquées par un [http://write.flossmanuals.net/start-with-inkscape/boolean-operations/ tutoriel]. Elles sont accessibles à l'aide du menu '''"chemin (path)"'''.
 +
 +
Leur utilisation est délicate et demande une préparation correcte des 2 objets qui vont faire l'objet de l'opération booléenne. Dans le cas de l'opération différence, elle est effectuée selon le principe '''"dessous moins dessus"''' :
 +
* le dessous est aussi appelé l'arrière plan
 +
* le dessus est aussi appelé le premier plan.
 +
Pour pouvoir gérer ces 2 plans sans ambiguïté, il est préférable de prévoir deux calques différents, chaque objet ayant son propre calque. Ainsi, il est possible à partir du menu '''"calque"''' de gérer le positionnement de l'objet :
 +
* calque au premier plan
 +
* calque à l'arrière plan.
 +
Avant d'appliquer l'opération booléennes, il faut sélectionné les deux objet à l'aide d'une fenêtre.
 +
====Choix des couleurs====
 +
Le codage RVB est donné par le [https://tutorialehtml.com/fr/tableau-de-codes-de-couleurs-html/ tableau de codes de couleurs].
 +
 +
Les [https://fr.wikipedia.org/wiki/Couleur_compl%C3%A9mentaire couleurs complémentaires] sont un bon choix pour augmenter la lisibilité des dessins.
 +
 +
Le codage des principales couleurs utilisées dans le cadre de ce projet sont données par le fichier [https://github.com/AIREL46/SCAO/blob/master/Design/Couleurs/Couleurs_a.ods Couleurs_a.ods].
 +
====Routage d'un transistor sous kicad====
 +
Sous Eschema à l'emplacement du transistor :
 +
* faire un clic droit, une fenêtre s'ouvre, choisir Properties, puis Edit properties, la fenêtre suivante s'ouvre :
 +
[[Fichier:Kicad_transistor.png|cadre|centré|transistor]]
 +
Dans l'encadré "Aspect", choisir : "Miror around X axis".
 +
 +
Cette opération permet de permuter la position de l'emetteur et du collecteur.
 +
 +
N.B. :
 +
* l'option "default" permet de câbler le transistor sur le F.CU
 +
* l'option "Mirror around X axis" permet de câbler le transistor sur le B.CU.
 +
====Manage Symbol Libraries sous kicad====
 +
La gestion des librairies de symboles est effectuée à partir du fichier sym-lib-table. Dans ce fichier chaque librairie est renseignée par une une instruction :
 +
* <code>(lib (name e-p-wifi-shield-lf(type Legacy)(uri ${KIPRJMOD}/e-p-wifi-shield-lf.lib)(options "")(descr "")</code>
 +
 +
Les deux champs essentiels sont le nom (name) et l'uri qui donne l'"Environnement Variable Substitution" (chemin pour accéder à la librairie suivi du nom du fichier .lib. Ce fichier est généré :
 +
* par le menu préférence/Manage Library Tables
 +
====Générer un plan de perçage sous kicad====
 +
Il faut éviter de générer un plan de perçage au format .pdf car l'échelle du plan n'est pas respectée.
 +
Pour contourner ce problème, il convient de générer au préalable un fichier .dxf puis sous Librecad générer un fichier .pdf. J'ai poster une requête sur  le forum kicad, les FAQ conseille d'utiliser la commande pdftk mais je n'ai pas réussi à l'utiliser correctement.
 +
 +
===Les captures d'écran===
 +
On peut réaliser des captures dans le presse papier (le fichier .png est disponible dans le dossier '''Images'''), les touches à utiliser sont :
 +
* '''impr-écr''' : copie de l'écran entier
 +
* '''alt+impr-écr''' : copie de la fenêtre active
 +
* '''maj+impr''' : initie une capture d'une zone rectangulaire à tracer.
 +
 +
Pour plus de détails utiliser le lien [https://doc.ubuntu-fr.org/capture_d_ecran capture d'écran].
 +
 +
===Raccourcis clavier personnalisés===
 +
Pour créer vos propres raccourcis clavier :
 +
* cliquer sur l'icône '''"boîte à outil"''' qui lance l'application '''Paramètres'''
 +
* choisir : '''Périphériques - Clavier - Raccourcis clavier'''
 +
* se déplacer dans la liste des raccourcis (vers le bas) jusqu'à atteindre le signe '''<big>+</big>'''
 +
* cliquer sur le '''<big>+</big>'''
 +
* une fenêtre s'ouvre, remplir les champs : '''Nom, Commande, Raccourci'''
 +
* cliquer sur '''ajouter'''.
 +
===Edition des étiquettes===
 +
L'édition des étiquettes est réalisée :
 +
* dans le cas d'étiquettes de la marque agipa, il convient de télécharger le modèle sur le site https://www.apli.fr/ et ensuite ouvrir le modèle, par exemple <code>~/Téléchargements/wp_101242.doc</code> dans Libreoffice writer, saisir les contenus des étiquettes puis les imprimer.
 +
* à l'aide du logiciel [http://glabels.org/ glabel-3].
 +
A titre d'exemple, les étiquettes des boîtes '''"projet"''' du magasin sont traitées selon la procédure :
 +
* mise à jour du fichier liste-des-cartons.ods
 +
* génération d'un fichier liste-des-cartons.scv - UNICODE (UTF-3) - Séparateur de champ ''','''
 +
* édition des étiquettes avec glabels-3 :
 +
** Objets
 +
** Propriétés fusion
 +
** Format fichier CSV - Champs séparés par des virgules
 +
** Sélectionnées les étiquettes à imprimer
 +
** Imprimer les étiquettes.
 +
 +
===Logiciel de téléassistance et réunions en ligne===
 +
[https://www.teamviewer.com/fr/ Team Viewer]
 +
=== Iphone 5 ===
 +
Voir le paragraphe "matériel" pour les généralités.
 +
 +
En date du 08 décembre 2018, pour communiquer avec les ordinateurs qui fonctionne sous Ubuntu, l'Iphone 5 nécessite :
 +
* une version d'Ubuntu limitée à la 16.04 LTS ainsi que l'installation de 2 logiciels :
 +
* libimobiledevice : a library to communicate with services of Apple iOS devices using native
 +
protocols.
 +
* ifuse : a fuse filesystem implementation to access the contents of [https://fr.wikipedia.org/wiki/IOS iOS] devices.
 +
 +
N.B. : [https://fr.wikipedia.org/wiki/Filesystem_in_Userspace Filesystem in UserSpacE (FUSE)]
 +
 +
Ils convient de les installer selon la procédure d'[https://doc.ubuntu-fr.org/iphone#installation installation]
 +
 +
Le lancement de la commande idevicepair pair donne :
 +
 +
leruste@leruste-System-Product-Name:~$ <code>idevicepair pair</code>
 +
 +
<code>'''SUCCESS''': </code><code>Paired with device 68e0a6f5d8bef2d62e1a91c949a49e6d26338fd6</code>
 +
 +
Par contre, le lancement de la commande ifuse donne l'erreur suivante :
 +
* <code>~ ifuse /media/leruste/ipod</code>
 +
* <code>GnuTLS error: Error in the pull function. - '''Failed''' to connect to lockdownd service on the device</code>
 +
 +
Cette erreur nous amène sur Github :
 +
* [https://github.com/libimobiledevice/ifuse/issues/32 libimobiledevice/ifuse]
 +
 +
Build with OpenSSL instead of GnuTLS. GnuTLS does not work with iOS10 devices. The package maintainer in Ubuntu built libimobiledevice with --disable-openssl option forcing GnuTLS. See the last comment in this issue for my solution.
 +
 +
Traduction : Construire avec '''OpenSSL''' au lieu de GnuTLS. '''GnuTLS ne fonctionne pas avec les appareils iOS10.''' Le responsable du paquet dans Ubuntu construit libimobiledevice avec l’option--disable-openssl option forçant GnuTLS. Voir le dernier commentaire à ce sujet pour ma solution.
 +
 +
Pour découvrir qu'il est préférable de dé-installer avec la commande :
 +
* sudo apt-get remove libimobiledevice6
 +
Beaucoup de baratin et finalement :
 +
* [https://gist.github.com/samrocketman/70dff6ebb18004fc37dc5e33c259a0fc la solution]
 +
* The solution is to compile [https://github.com/libimobiledevice libimobiledevice and ifuse from source.]
 +
 +
Extrait de la procédure :
 +
 +
To compile run:
 +
* ./autogen.sh (By default, OpenSSL will be used.)
 +
* make
 +
* sudo make install
 +
Sur l'ordinateur portable LDLC, j'ai déroulé cette seconde procédure d'installation qui consiste à recompiler à partir des sources en respectant à la lettre le paragraphe '''"requirements"'''.
 +
 +
Le résultat est rigoureusement le même :
 +
* idevicepair pair '''OK'''
 +
* airel@airel-W230SD:~$ sudo ifuse /media/airel/iphone
  
===Les plateformes===
+
GnuTLS error: Error in the pull function.
Dans le contexte de cet atelier logiciel, les [https://fr.wikipedia.org/wiki/Plate-forme_(informatique) plateformes] sont des [https://fr.wikipedia.org/wiki/Environnement_de_d%C3%A9veloppement environnements de développement] '''« intégré »''' (abrégé EDI en français ou [https://en.wikipedia.org/wiki/Integrated_development_environment IDE] en anglais, pour '''integrated development environment''').
 
  
Une plateforme est généralement constituée d'un ordinateur et d'un [https://fr.wikipedia.org/wiki/Microcontr%C3%B4leur microcontrôleur] raccordé par un câble USB.
+
Failed to connect to lockdownd service on the device.
  
Le [https://fr.wikipedia.org/wiki/D%C3%A9veloppement_de_logiciel développement du logiciel] dédié au [https://fr.wikipedia.org/wiki/Microcontr%C3%B4leur microcontrôleur] se réalise selon les phases suivantes :
+
Try again. If it still fails try rebooting your device.
* au sein de l'[https://en.wikipedia.org/wiki/Integrated_development_environment IDE] installé sur l'ordinateur :
 
** saisi du programme
 
** vérification
 
** téléversement de l'ordinateur vers le [https://fr.wikipedia.org/wiki/Microcontr%C3%B4leur microcontrôleur]
 
* au sein du [https://fr.wikipedia.org/wiki/Microcontr%C3%B4leur microcontrôleur] exécution du programme.
 
Les phases décrites ci-dessus peuvent être exécuter autant de fois que nécessaire jusqu'à obtention du fonctionnement souhaité.
 
  
A partir du moment où le câble USB est déconnecté, le [https://fr.wikipedia.org/wiki/Microcontr%C3%B4leur microcontrôleur], si son alimentation est autonome (batterie), va exécuter en permanence le dernier programme téléversé.
+
En conclusion, la différence fondamentale entre les 2 procédures d'installation est au niveau de l'option prise lors de l'exécution du fichier bash '''autogen.sh''', elle est :
 +
*  --disable-openssl pour la première installation
 +
* sans option pour la seconde installation qui correspond à : By default, OpenSSL will be used.
 +
Pour cette seconde installation il s'agit bien de '''GnuTLS error''', ce qui semble prouver que l'option par défaut n'a pas été prise en compte.
  
====Plateformes Arduino et Teensy====
+
N.B. : 1) pour plus de détails voir le fichier [https://github.com/libimobiledevice/libimobiledevice/blob/master/README README].
Les deux plateformes sont constituées à partir du même ordinateur complété, soit d'un [https://fr.wikipedia.org/wiki/Microcontr%C3%B4leur microcontrôleur] de la famille [https://fr.wikipedia.org/wiki/Arduino arduino], soit d'un [https://fr.wikipedia.org/wiki/Microcontr%C3%B4leur microcontrôleur] [https://www.pjrc.com/teensy/ Teensy]. Les deux plateformes utilisent le même [https://en.wikipedia.org/wiki/Integrated_development_environment IDE].
 
L'[https://en.wikipedia.org/wiki/Integrated_development_environment IDE] est :
 
* soit l'Arduino web editor (disponible uniquement pour Linux 64 bits en date du 14/03/2018)
 
* soit l'Arduino IDE (Linux '''32 bits''' et 64 bits)
 
les deux sont accessibles par ce [https://www.arduino.cc/en/Main/Software lien].
 
  
La [http://playground.arduino.cc/uploads/Main/arduino_notebook_v1-1.pdf documentation].
+
2) la compilation de libimobiledevice et ifuse est incomplète, il convient de la vérifier et si besoin de la consolider.
  
Dans le cas du [https://www.pjrc.com/teensy/ Teensy], il est complété de [https://en.m.wikipedia.org/wiki/Library_(computing) librairies spécifiques].
+
Erreur :
  
====Plateforme Microchip====
+
Making check in tools
Elle est traitée en un projet séparé accessible par le lien [http://fablabo.net/wiki/PIC PIC].
 
  
===Gestion de versions ===
+
make[1] : on entre dans le répertoire « /home/airel/libimobiledevice/tools »
Un [https://fr.wikipedia.org/wiki/Logiciel_de_gestion_de_versions logiciel de gestion de versions] est un logiciel qui permet de stocker un ensemble de fichiers en conservant la chronologie de toutes les modifications qui ont été effectuées dessus. Il permet notamment de retrouver les différentes versions d'un lot de fichiers connexes.
 
====Git et Git-hub====
 
Il en existe de nombreux, [https://fr.wikipedia.org/wiki/Git Git] est le logiciel créé par Linus Torvald, auteur du Kernel Linux. Il utilise des commandes comme commit, branches, merge...L'hébergement des fichiers sources s'effectue sur [https://fr.wikipedia.org/wiki/GitHub GitHub], ce qui permet de collaborer facilement sur des projets qui utilisent des logiciels libres.
 
  
La formation recommandé est [https://openclassrooms.com/courses/gerer-son-code-avec-git-et-github Gérer son code avec git et github sur Openclassroom].
+
  CCLD    idevice_id
  
Les différents étapes pour créer une copie du projet sur le site github :
+
../src/.libs/libimobiledevice.so: undefined reference to `usbmuxd_save_pair_record_with_device_id'
*sur le site github créer un nouveau projet baptisé SCAO.
 
*Dans un terminal, avec la commande sudo git clone https://github.com/AIREL46/SCAO importer ce nouveau projet.
 
*A partir du contenu de la clé USB /media/leruste/SAUVEGARDE1/Données/SCAO, faire une copie du répertoire Ping qui contient les 2 sous répertoires LibreCAD et openscad ainsi que le fichier Thumbs.db en utilisant  :
 
**sudo git add "nom du répertoire ou du fichier"
 
**sudo git commit -am "message du commit"
 
**Quand la même séquence est répétée pour les 2 répertoires et le fichier, taper la commande sudo git push origin master pour envoyer sur le site github.
 
*Répéter la même procédure pour tous les sous-répertoires de SCAO.
 
====Git-lfs====
 
Un message de warning est affiché :
 
  
'''File Plan-de-management/plan de management.odt is 53.71 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB'''
+
collect2: error: ld returned 1 exit status
  
La préconisation est :
+
Makefile:653 : la recette pour la cible « idevice_id » a échouée
  
'''You may want to try Git Large File Storage - https://git-lfs.github.com.'''
+
Interprétation :
  
Après l'installation du paquet, lors de l'exécution de la commande :
+
ld returned 1 exit status :
 +
*  ld - The GNU linker
 +
* ld combines a number of object and archive files, relocates their data and ties up      symbol references. Usually the last step in compiling a program is to run ld.
  
*sudo git lfs install
+
Le programme cherche à connaître le idevice_id pour le mémoriser dans la variable usbmuxd_save_pair_record_with_device_id et n'y parvient pas.
  
une erreur survient :
+
le idevice_id est à priori 68e0a6f5d8bef2d62e1a91c949a49e6d26338fd6.
  
/usr/local/bin/git-lfs: 1: /usr/local/bin/git-lfs: Syntax error: '''Unterminated quoted string'''
+
J'identifie le fichier '''libimobiledevice.so''' :
  
Malgré l'erreur, je teste :
+
airel@airel-W230SD:~/libimobiledevice$ ls -l src/.libs/libimobiledevice.so
*sudo git add Plan-de-management/plan-de-management.odt
 
*sudo git commit "Ajouter fichier > 50MO plan-de-management.odt"
 
*sudo git push origin master
 
  
Dans Github, je retouve le fichier avec les commentaires :
+
lrwxrwxrwx 1 root root 25 déc.  30 16:58 src/.libs/libimobiledevice.so -> libimobiledevice.so.6.0.0
<big>View raw</big>
 
(Sorry about that, but we can’t show files that are this big right now.)
 
  
Je clique sur View raw, la fenêtre suivante s'ouvre :
+
La commande "ls" ci-dessus montre que le fichier est bien identifié et qu'il est redirigé vers un fichier exécutable du même '''nom + .6.0.0'''.
[[fichier:Git-lfs-sup-50MO.png |thumb|center|upright=2 | Ouvrir en lecture seule un fichier de plus de 50MO]]
 
Si :
 
*je choisi ''Ouvrir avec LibreOffice Writer'', le fichier est visualisé.
 
*je choisi ''Enregistrer le fichier'', le fichier est téléchargé et disponible dans le répertoire '''Téléchargements'''.
 
  
Je fais le même test avec le fichier plan de management_old.doc qui n'a pas fait l'objet d'un nouveau "push", le résultat est le même.
+
La ligne 653 du fichier Makefile est :
Conclusion : les fichiers de plus de 50 MO sont mémorisés, par contre, ils sont visualisables qu'après un téléchargement. Donc, le paquet git-lfs n'est pas opérationnel.
+
* <code>@rm -f idevice_id$(EXEEXT)</code>
  
Je laisse tomber git-lfs et j'en profite pour faire un peu de nettoyage.
+
la variable usbmuxd_save_pair_record_with_device_id est pour le moment introuvable.
  
Je supprime des fichiers inutiles, le premier :
+
=== (Re)compiler un logiciel des dépôts ===
 +
C'est dans certains cas un passage obligé, en particulier pour installer les logiciels nécessaires à la communication avec l'[http://fablabo.net/wiki/Atelier_logiciel#Iphone_5_2 Iphone].
  
Plan-de-management/plan de management.odt avec la commande :
+
Pour avoir une idée de la procédure à suivre, suivre le tutoriel [https://doc.ubuntu-fr.org/tutoriel/compilation compilation].
*sudo git rm Plan-de-management/plan de management.odt
 
ça ne marche pas parce que Ubuntu n'aime pas les espaces, je contourne la difficulté avec :
 
*sudo git rm Plan-de-management/'''<big>"</big>'''plan de management.odt'''<big>"</big>'''
 
Les suivants :
 
*Plan-de-management/plan de management_old.doc
 
*BOINC/BOINC.odt.
 
====Synchronisation des 2 ordinateurs====
 
Pour les 2 ordinateurs, le fixe et le portable, l'objet est d'assurer la conformité des contenus de leur répertoire SCAO respectif selon la règle de [https://fr.wikipedia.org/wiki/Synchronisation_de_fichiers synchronisation de fichiers].
 
  
Une fois par semaine, sur l''''ordinateur fixe''', dans le répertoire SCAO :
+
La définition du compilateur est donné par [https://fr.wikipedia.org/wiki/Compilateur Wkipédia].
* sudo git status
+
En quelque mots, un compilateur est un programme qui transforme un code source écrit dans un langage de programmation (le langage source) en un autre langage informatique (appelé langage cible).
* En fonction du résultat, effectuer l'ajout des nouveaux fichiers et terminer par :
 
** sudo git commit -a
 
** cette commande va ouvrir fichier SCAO/.git/COMMIT_EDITMSG
 
** dans ce fichier indiquer la raison du commit
 
** ctrl x
 
** sauver l'espace modifié ? Oui
 
* sudo git push origin master
 
* sur l''''ordinateur portable''' :
 
** sudo git pull origin master.
 
  
===Compacter des fichiers avec la commande zip===
+
Pour créer ce langage cible, un système d'[https://fr.wikipedia.org/wiki/Autotools Autotools] est utilisé. Ce système Autotools (ou GNU build system) est un terme général utilisé par la communauté anglo-saxonne pour désigner l'ensemble des outils de build du projet GNU. Voir l'organigramme général à l'aide du même lien [https://fr.wikipedia.org/wiki/Autotools Autotools].  
Pour regrouper le contenu d'un répertoire en vue de l'envoyer à un correspondant.
 
  
'''zip - package and compress (archive) files'''
+
[https://fr.wikipedia.org/wiki/Make '''Make'''] est un logiciel qui construit automatiquement des fichiers, souvent exécutables, ou des bibliothèques à partir d'éléments de base tels que du code source. Il utilise des fichiers appelés makefile qui spécifient comment construire les fichiers cibles.
 +
Make cherche dans le répertoire courant le [https://fr.wikipedia.org/wiki/Make#Makefile makefile] à utiliser. Par exemple, le make de GNU cherche dans l'ordre, un fichier GNUmakefile, makefile, Makefile, puis exécute les cibles spécifiées (ou par défaut) pour ce fichier uniquement.
  
Ouvrir un terminal et taper la commande (exemple) :
+
Sur un dépot comme Github, le paquet [https://github.com/libimobiledevice/libimobiledevice libimobiledevice] comprend au niveau du répertoire principal un fichier Makefile.am, à l'aide du [https://fr.wikipedia.org/wiki/Make '''Make'''], ce fichier permet de contruire les 2 fichiers suivants :
* zip quiet-cook.zip tp_quiet-cook
+
* Makefile.in
 +
* Makefile.
 +
La documentation Ubuntu explique la méthode pour [https://doc.ubuntu-fr.org/projets/paquets/recompiler_un_logiciel_des_depots (Re)compiler un logiciel des dépôts].
  
 
==Maintenance==
 
==Maintenance==
 +
===Ventilation de l'ordinateur===
 +
[https://en.wikipedia.org/wiki/Computer_cooling Computer cooling]
 +
 +
[https://en.wikipedia.org/wiki/Heat_sink Heat sink (Dissipateur de chaleur)]
 +
 +
[https://en.wikipedia.org/wiki/Computer_fan Ventilation de l'ordinateur]
 +
 +
[https://www.techpowerup.com/articles/134 Thermal past]
 +
 +
[https://en.wikipedia.org/wiki/Thermal_grease Thermal grease]
 +
 +
[http://www.conrad.fr/ce/fr/product/185904/Pte-thermique-Akasa-185904-33-WmK-35-g-Temprature-max-200-C?ref=searchDetail conrad]
 +
 +
Pour faciliter le dépoussiérage du dissipateur de chaleur monté sur le CPU, Olivier l'a démonté, puis a rencontré quelques difficultés lors du remontage. Ne disposant pas dans l'immédiat de pâte thermique, la pâte résiduelle a été nettoyée mais n'a pas été remplacée. Les 4 "vis" de fixation en matière plastique s'avèrent délicates lors du remontage. Le serrage des 3 premières s'effectuent relativement facilement, celui de la quatrième est beaucoup plus difficile.
 +
 +
Voir le "user guide de la P5Q motherboard".
 +
 +
La préconisation est le serrage simultané de 2 vis diamétralement opposé.
 +
 +
Si le serrage des 4 "vis" n'est pas correct, lors du démarrage de l'ordinateur, après 1 minute, la température du CPU passe de la température ambiante à environ 90°C.
 +
 
===Remplacement de la batterie de la carte mère===
 
===Remplacement de la batterie de la carte mère===
 
Sur la carte mère, cette batterie "Lithium cell CMOS power" est localisée à coté des connecteurs SATA.
 
Sur la carte mère, cette batterie "Lithium cell CMOS power" est localisée à coté des connecteurs SATA.
Ligne 310 : Ligne 1 167 :
  
 
===Les sauvegardes et les restaurations===
 
===Les sauvegardes et les restaurations===
Les sauvegardes et les restaurations sont effectuées à l'aide du logiciel [https://launchpad.net/deja-dup déjà dup].
+
====Généralités====
 +
[https://fr.wikipedia.org/wiki/Sauvegarde_(informatique) sauvegarde informatique (wikipédia.fr)]
 +
[https://doc.ubuntu-fr.org/sauvegarde sauvegarde (wiki Ubuntu.fr)]
 +
 
 +
====Pour organiser les sauvegardes====
 +
Les fichiers qui résident sur les disques durs d'un ordinateur sont la résultante de :
 +
* l'installation et des mises à jour :
 +
** du système d'exploitation
 +
** des logiciels applicatifs
 +
* des données générées :
 +
** par l'utilisateur
 +
** par les logiciels applicatifs.
 +
Dans l'hypothèse d'un [https://fr.wikipedia.org/wiki/Plantage crash informatique (plantage)] qui nécessite une nouvelle installation partielle ou totale, il faut que la politique de maintenance mise en place soit à même de parer toute situation.
 +
 
 +
Parmi les '''fichiers''' cités ci-dessus, il faut donc bien '''différencier''' '''ceux''' que l'ont peux '''retrouver facilement''' (système d'exploitation, logiciels d'application) de '''ceux qui contiennent des données générées'''.
 +
 
 +
Ces données générées sont regroupées dans le répertoire de l'utilisateur sous le répertoire '''/home''' qu'il convient de sauvegarder en totalité.
 +
 
 +
Dans notre cas :
 +
 
 +
* le répertoire de l'utilisateur à sauvegarder est :
 +
** /home/leruste pour l'ordinateur ASUS
 +
** /home/airel pour l'ordinateur COMPAQ
 +
* j'ai ajouté sur les 2 ordinateurs un répertoire /home/deja-dup (emplacement de stockage).
 +
 
 +
'''N.B. :'''
 +
* des logiciels comme Thunderbird crée sous le répertoire de l'utilisateur un répertoire dont le nom est précédé d'un point, '''.thunderbird''' dans notre cas. D'autres exemples : .adobe - .dbus - .dropbox - .gconf - .gitconfig. Attention : ces répertoires sont nombreux, il faut donc s'assurer qu'ils sont correctement sauvegardés.
 +
* l'emplacement de stockage (/home/deja-dup) doit être séparé de celui des données générées, idéalement sur un disque dur séparé.
 +
 
 +
====Déja-dup====
 +
Les sauvegardes et les restaurations sont effectuées à l'aide du logiciel [https://launchpad.net/deja-dup déjà dup]. Il utilise [http://duplicity.nongnu.org/ duplicity]. Duplicity sauvegarde les répertoires en produisant des volumes au format tar chiffrés et en les téléchargeant sur un serveur de fichiers local ou distant. Du fait que duplicity utilise la librarie [https://github.com/librsync/librsync librsync], les archives incrémentielles utilisent peu d'espace et enregistrent uniquement les parties des fichiers qui ont été modifiées depuis la dernière sauvegarde.
 +
 
 +
[https://launchpad.net/deja-dup Déjà dup] peux être lancé :
 +
*en mode graphique en cliquant sur l'icone du lanceur
 +
*en ligne de commande en tapant dans une console <code>deja-dup</code>
 +
 
 +
Dès la première sauvegarde un ensemble de fichiers est crée :
 +
*un fichier texte '''"manifest"''' par exemple : <code>duplicity-full.20190313T105946Z.manifest</code>. Ce fichier décrit l'organisation en 76 volumes. Le volume 2 est donné à titre d'exemple ci-dessous :
 +
** Volume 2:<small>
 +
    StartingPath  home/airel/.dropbox-dist/dropbox-lnx.x86_64-67.4.83/libicuuc.so.42 12
 +
    EndingPath    home/airel/.mozilla/firefox/40wou9i0.default/storage/default/about+newtab            /idb/3312185054sbndi_pspte.files/6 38
 +
    Hash SHA1 d6a6306d21b48ac90b3575d8ccb8e0b070d2d900</small>
 +
*un fichier compressé par volume, soit 76 fichiers de type '''".difftar.gz"''', exemple :
 +
<code>duplicity-full.20190313T105946Z.vol2.difftar.gz</code>
 +
*un fichier unique de type '''".sigtar.gz"''', exemple :
 +
<code>duplicity-full-signatures.20190313T105946Z.sigtar.gz</code>
 +
 
 
La sauvegarde est journalière et automatisée.
 
La sauvegarde est journalière et automatisée.
  
Ligne 330 : Ligne 1 233 :
 
*la restauration d'un ou plusieurs fichier avec -xf et le nom du répertoire ou du fichier après le nom de l'archive .sigtar
 
*la restauration d'un ou plusieurs fichier avec -xf et le nom du répertoire ou du fichier après le nom de l'archive .sigtar
 
Attention : cette restauration se fait avec toute l'arborescence sous un répertoire nommé '''"signature"'''.
 
Attention : cette restauration se fait avec toute l'arborescence sous un répertoire nommé '''"signature"'''.
 +
 +
'''Pour paramétrer deja-dup :'''
 +
 +
[[Fichier:sauvegarde.png|cadre|centré|'''Menu du logiciel de sauvegarde deja-dup''']]
 +
 +
Selon le menu ci-dessus :
 +
* Vue d'ensemble : '''restaurer''' ou démarrer une '''sauvegarde'''
 +
* Dossier à enregistrer : '''/home/leruste''' ou '''/home/airel'''
 +
* Dossier à ignorer : exemple '''Téléchargements'''
 +
* Emplacement de stockage : '''/home/deja-dup'''
 +
* Planification - Exemple : sauvegarde automatique, chaque jour, conserver au moins 6 mois.
 +
 +
====Thunderbird (sauvegarde du profile)====
 +
 +
Thunderbird saves personal information such as messages, passwords and user preferences in a set of files called a "profile", which is stored in a separate location from the Thunderbird program files. Pour plus de détail, cliquez sur le lien [https://support.mozilla.org/en-US/kb/profiles-where-thunderbird-stores-user-data profile].
 +
 +
Pour l'ordinateur ASUS, le profile correspond à un ensemble de fichiers stockés dans le répertoire :
 +
 +
'''.thunderbird/9nl8338i.default'''
 +
 +
Pour sauvegarder ce profile, il suffit de sauvegarder le contenu du répertoire, par exemple sur une clé USB à partir d'une commande :
 +
 +
'''cp -v .thunderbird/9nl8338i.default/* /media/leruste/SAUVEGARDE1/profile_thunderbird'''
 +
====Paquets installés====
 +
[https://doc.ubuntu-fr.org/tutoriel/comment_sauver_et_restaurer_la_liste_des_paquets Sauvegarde et restauration de la liste des paquets installés pour restauration, duplication ou migration]
  
 
==Site web==
 
==Site web==
 
Le site web fait l'objet d'un [http://fablabo.net/wiki/Site-web projet séparé]
 
Le site web fait l'objet d'un [http://fablabo.net/wiki/Site-web projet séparé]

Version actuelle en date du 21 août 2024 à 11:27


Mise en place des moyens informatiques nécessaires au développement du SCAO

Atelier-logiciel.png

Contributeur·ice·s

Statut du projet

Concept

Statut de la publication

Publié

License

CC-by-sa-3.0 - Creative Commons Attribution CC-by-sa-3.0 France

Inspiration

Atelier de génie logiciel

Fichiers source

Machines

Matériaux

Lien


Sommaire



Définition

L'atelier logiciel est l'un des ateliers de prototypage du SCAO.

L'appellation atelier logiciel n'est pas référencée par l'encyclopédie Wikipédia. L'appellation la plus proche est atelier de génie logiciel. Un atelier de génie logiciel (AGL), ou des outils CASE pour Computer Aided Software Engineering, désigne un ensemble de programmes informatiques permettant eux-mêmes de produire des programmes de manière industrielle.

L'appellation suite logicielle, en anglais software suite désigne une entité utilisée au sein de l'atelier logiciel.

Objet

L'objet est la mise en place et le Maintien en Condition Opérationnelle (MCO) des moyens informatiques nécessaires au développement des prototypes du SCAO.

Le matériel

L'atelier logiciel utilise les ressources d'ordinateurs personnels, 2 ordinateurs fixes (ASUS et Compaq), 2 ordinateurs portables (LDLC et Packard Bell) et un iphone 5. Ces 5 appareils sont synchronisés.

L'ordinateur fixe est conçu autour d'une carte mère qui est l'ossature de tout ordinateur. Les dimensions de la carte mère sont standardisées selon un facteur de forme, par exemple pour le facteur de forme de l'ATX, les dimensions en mm sont 305X244.

Construire son PC personnalisé

Pour construire son PC personnalisé, cliquer sur le lien Construire son PC.

ASUS

Voir également la réparation de l'ordinateur ASUS.

L'ordinateur fixe ASUS de type PC est équipé de :

Compaq

L'ordinateur fixe COMPAQ de type PC est équipé de :

  • une carte mère ASUS M2N68-AM PLUS équipée :
    • d'un CPU AMD Athlon XP3000 qui travaille à la fréquence de 2.16 GHZ.
    • deux mémoires KINGSTON TYPE L2 CACHE d'une capacité de 512KB.
  • une carte vidéo GF210 512M
  • une alimentation BESTEC model ATX-300-12Z.
  • un écran PHILIPS de 17 pouces.
  • un graveur LABELFLASH 3M-Optiarc D.
  • un disque dur MAXTOR STM380215A de 80Go.

LDLC

L'ordinateur portable de type LDLC MB5-15-8-S2H10, sans système d'exploitation, est équipé de :

  • Processeur Intel Core i5-4210M (2.6 GHZ / 3.2 GHZ Turbo - Cache 3 MO)
  • 8 GO de mémoire DDR3L (2 X 4 GO)
  • Ecran LED de 13.3 pouces à dalle mate, avec résolution full HD (1920 X 1080)
  • Deux disques durs :
    • SSD mSATA de 240 GO
    • ATA ST1000LM024 HN-M de 1 TO
  • Chipset graphique NVIDIA GeForce GTX 960M avec 2 GO de mémoire dédiée
  • Sortie HDMI
  • Connexion Gigabit Ethernet + communication sans fil WI-FI N et Bluetooth 4.0
  • Clavier chiclet avec touches rétro-éclairées
  • 1 port USB 2.0 + 3 ports USB 3.0
  • lecteur de carte intégré
  • Jusqu'à 5h30 d'autonomie
  • Hauts-parleurs intégrés
  • Webcam HD 2 Mégapixels
  • Graveur DVD externe.

L'ordinateur de Jacqueline

C'est un ordinateur portable PACKARD Bell Easynote, modèle ALP-Ajax GDC qui se compose :

  • D ‘un CPU Intel Core Duo 1.6 GHz.
  • D’un disque dur HDD IDE de 100 Go.
  • D’une carte mère Intel WLAN3945ABG.
  • D’une mémoire d’1Go RAM DDR2 RAM.
  • D’un lecteur DVD-RW.
  • D’un écran d’une résolution 1280 par 800.
  • D’un port LAN, d’un port VGA et de 4 ports USB2.0.
  • D’une Webcam.

Le lien suivant permet de visualiser le démontage de ce PC portable

Iphone 5

L'iPhone 5 est un modèle de la 6e génération d'iPhone, de la société Apple.

Il fonctionne sous iOS 10, dispose d'un processeur A6, d'un écran de 4 pouces et d'un nouveau connecteur « Lightning » réversible. Pour plus de détails, suivez le lien Iphone 5 ainsi que le paragraphe "Les logiciels" de ce wiki.

Installation d'une embase murale RJ45

Les embases murales RJ45 installées dans la maison de St-Molf sont en "câblage droit T568B".

Chacune des embases est raccordée à une embase RJ45 disponible de la freebox selon un câblage en étoile.

Pour procéder à l'installation d'une embase, il convient de se référer au tutoriel Leroy Merlin.

Installation d'un disque dur

Chaque disque dur est raccordés à la carte mère par une interface SATA . La carte mère P5Q de l'ordinateur ASUS est équipée de :

  • 6X SATA 3.0 Gb/s ports

N.B. : Un élément SATA I, II ou III peut être branché sur une carte mère SATA I, II ou III. Le débit obtenu sera alors celui de l'élément le plus lent. Par exemple, un disque dur SATA III sur une carte mère SATA II aura un débit limité par la carte mère à 300 Mo/s

Liens :

How to connect Front Panel Connectors to the Motherboard

How to connect Front Panel Connectors to the Motherboard

Mesures des tensions et courants

a) Mesures sur la LED ON/OFF

  • tension = 2.886 Volts
  • courant = 6.3 mA
  • soit une puissance = 18.18 mW

b) Mesures sur une LED du magasin câblée à la place de la LED ON/OFF

  • tension = 1.883 Volts
  • courant = 9.79 mA
  • soit une puissance = 18.43 mW

Créer une clé USB bootable Ubuntu

tutorial create a bootable stick on ubuntu.

Fabrication d'un circuit imprimé

Deux fournisseurs sont identifiés :

Pour dimensionner la largeur de la piste en fonction du courant qui la traverse, il convient de se référer au document conception des circuits imprimés.

Pour la découpe laser d'une plaque de cuivre.

Pull-up and Pull-down resistors

Pull-up and Pull-down resistors are used to correctly bias the inputs of digital gates to stop them from floating about randomly when there is no input condition.

Serveur de stockage en réseau (NAS)

En référence à Planète Linux n°118, l'article intitulé "Installation d'un serveur de fichier". Tout d'abord voici la définition de Wikipédia : "Un serveur de stockage en réseau, également appelé stockage en réseau NAS, boîtier de stockage en réseau ou plus simplement NAS (de l'anglais Network Attached Storage), est un serveur de fichiers autonome, relié à un réseau, dont la principale fonction est le stockage de données en un volume centralisé pour des clients réseau hétérogènes. "

Ce NAS est installé au sein d'un réseau local constitué à partir de la freebox, il est constitué :

  • d'un ordinateur simplifié
  • du logiciel XigmaNAS.

Oscilloscope

L'achat est effectué sur le site en ligne Farnell pour le Picoscope 2204A.

La datasheet du Picoscope 2204A.

Picoscope

Mise à niveau d'Ubuntu de la version 20.04 LTS à la version 24.04 LTS

Identification de la version installée

Il existe deux moyens pour identifier le version installée :

  • cliquer sur l'utilitaire "Paramètres" puis sur "A propos de cet ordinateur"
  • ouvrir un terminal et taper lsb_release -d, The lsb_release command provides certain LSB (Linux Standard Base) and

distribution-specific information. L'option -d permet "Display a description of the currently installed distribution", le résultat est le suivant :

airel@airel-System-Product-Name:~$ lsb_release -d

Description: Ubuntu 20.04.6 LTS

Créer / flasher une clef USB bootable (Live USB)

En référence à la documentation Ubuntu accessible par ce lien live-USB. Un live-USB permet de démarrer un système (Ubuntu ou autre) qui n'est pas installé sur le PC. Ce démarrage permet soit de tester Ubuntu, soit de l'installer sur le disque du PC, soit de réparer le système, soit même (live "persistant") d'utiliser Ubuntu comme bureau mobile complet (portable sur n'importe quel PC compatible).

Pour créer cette clé, j'ai utilisé usb-creator qui est l'outil installé par défaut sur Ubuntu. Pour le lancer, il suffit de taper dans un terminal :

  • usb-creator-gtk.

Pour graver la clé, il faut au préalable avoir télécharger l'image iso de la distribution :

  • Téléchargements/ubuntu-24.04-desktop-amd64.iso
  • et qu'une clé USB vierge soit présente sur l'ordinateur.

Lancement d'Ubuntu 24.04 LTS à partir de la clé USB

Pour lancer Ubuntu 24.04, il convient que :

  • la clé USB soit présente sur l'un des ports de l'ordinateur
  • de rebooter l'ordinateur en appuyant sur la touche Suppr. pour entrer dans l'utilitaire de configuration et y sélectionner successivement :

Démarrage - Priorité de démarrage - Boot option #1 - UEFI: USB Disk 2.0 PMAP, Partition 2 (14806)

  • valider la clé USB par appui sur la touche entrée
  • sauvegarder par appui sur la touche F10
  • en sortant de l'utilitaire de configuration, l'ordinateur va booter sur la clé USB
  • sous Ubuntu 24.04, dérouler l'utilitaire de configuration, en particulier pour paramêtrer la langue et le clavier.
  • Une erreur va se déclarer : "System program problem detected", je la signale sur le site Ubuntu one par le message suivant : From the ubuntu-24.04-desktop-emd64.iso ISO image and the usb-creator-gtk utility, I created a USB key. After booting on this key, I have access to this new version of Ubuntu but an error is declared at boot time and then the error: "System program problem detected". Thank you in advance for your help.. Je reçois une réponse complétement inintelligible accessible par le lien
  • J'envoie un nouveau message : Hello Olivier,Thank you for your reply. I do not understand at all the information you are giving me or how to use it. Can you if possible give me simple information that would allow me to solve my problem. Sincerely. Régis
  • Je ne reçois aucune réponse et je passe outre l'erreur constatée.

Installation sur l'ordinateur de l'atelier salon d'Ubuntu 24.04 LTS à partir de la clé USB

L'odinateur est équipé de deux disques durs :

  • ATA WDC WD5000AAKS-2 monté sur la partition /dev/sda (465 Gio) divisée en deux partitions : sda1 (248 Gio) et sda2 (232 Gio)
  • ATA CT250MX500SSD1 monté sur la partition /dev/sda /dev/sdb (232 Gio)

C'est sur la partition sd1 qu'ubuntu 24.04 LTS va être installée. L'installation écrase le contenu de la partition, le résultat est satisfaisant, il ne reste plus qu'à installer les logiciels et les fichiers personnels.

Installation sur l'ordinateur de l'atelier salon des logiciels et des fichiers personnels

Les logiciels installés sont :

  • Librecad en version 22.0-undef
  • openscad en version 2019.05
  • git en version 2.43.0
  • l'utilitaire numlockx permet de d'initialiser le pavé numérique mais attention lors du login, le pavé n'est pas encore activé, il convient donc d'entrer la partie chiffre du mot de passe à partir du clavier mais sans se servir du pavé numérique.
  • atom en version 1.60.0 X64 installé après téléchargement de atom-amd64.tar.gz, j'ai créé un nouveau répertoire atom et dans ce répertoire, j'ai extrait les fichiers. Le lancement d'atom est possible uniquement en cliquant sur l'icone fichier, après recherche du répertoire atom/atom-amd64/atom-1.60.0-amd64, cliquer sur l'icone atom.
  • arduino-ide : téléchargement de arduino-ide_2.3.2_Linux_64bit.AppImage, je lance l'exécutable dans un terminal, l'erreur suivante apparaît : [7779:0813/143914.948331:FATAL:setuid_sandbox_host.cc(158)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /tmp/.mount_arduinyqZnYm/chrome-sandbox is owned by root and has mode 4755. Trappe pour point d'arrêt et de trace (core dumped). je fait une nouvelle tentative avec l'option --no-sandbox, c'est encore pire, je laisse tomber.
  • je réussi sur la plateforme Arduino Agent à connecter une Arduino Uno, puis une MKR wifi 1010, par contre, avec la MKR wifi 1010 de la e-poignée, je ne parviens pas à établir la liaison série. En final, je réussi en utilisant le bootloader mode. On some boards (such as those of the MKR Family and newer Nano boards), pressing the RESET button twice in quick succession will put the board in bootloader mode. Instead of running a sketch the Arduino will wait until a sketch is uploaded. While in bootloader mode, an orange LED will fade in and out.


Concernant Les fichiers personnels, j'ai essayé de copier le contenu du répertoire SCAO à l'aide de la commande git clone mais sans succès. Pour contourner la difficulté, j'ai restauré la sauvegarde de l'atelier logiciel.

Les tests de la plateforme montée sur le shield MKR wifi 1010 sont décrits sur Github accessible par le lien Assemblage de la e-poignée filaire.

Installations logicielles

Liste des installation et vérifications :

Personal access tokens (PAT)

En référence à la version anglaise de Wikipédia, "In computer systems, an access token contains the security credentials for a login session and identifies the user, the user's groups, the user's privileges, and, in some cases, a particular application. Typically one may be asked to enter the access token (e.g. 40 random characters) rather than the usual password (it therefore should be kept secret just like a password)."

Pour obtenir un PAT, il faut suivre le lien suivant token-authentication-requirements-for-git-operations.

L'accès à Github s'effectue comme par le passé avec l'identifiant classique (Nom utilisateur + mot de passe).

Par contre, il faut prévoir un PAT nécessaire à l'exécution de certaine commande git comme :

  • git push origin master

Mon PAT (Token for AIREL) est mémorisé dans un fichier personnel stocké sur une clé USB.

Si nécessaire, on peut effacer toutes les informations d'identification mises en cache dans git à l'aide de la commande suivante :

  • git config --global --unset credential.helper

Synchronisation

Il s'agit principalement d'une synchronisation de fichiers entre les appareils.

L'objet est, pour un fichier donné, de garantir la correspondance exacte de son contenu et de sa version d'un appareil à l'autre.

Les moyens pour y parvenir sont :

  • le module sync de firefox pour le Web
  • la gestion de version avec Git et Git-hub pour les fichiers du sous répertoire /home/leruste/SCAO
  • la communication à partir d'un réseau local pour les fichiers personnels des autres sous-répertoires de /home/leruste.

Développement logiciel

Environnement de developpement

L'environnement de développement « intégré » (abrégé EDI en français ou IDE en anglais, pour integrated development environment). Cet IDE peut être réalisé à partir soit de :

Les plateformes

Dans le contexte de cet atelier logiciel, les plateformes sont des environnements de développement « intégré » (abrégé EDI en français ou IDE en anglais, pour integrated development environment).

Une plateforme est généralement constituée d'un ordinateur et d'un microcontrôleur raccordé par un câble USB.

Le développement du logiciel dédié au microcontrôleur se réalise selon les phases suivantes :

  • au sein de l'IDE installé sur l'ordinateur :
    • saisie du programme
    • vérification
    • téléversement de l'ordinateur vers le microcontrôleur
  • au sein du microcontrôleur exécution du programme.

Les phases décrites ci-dessus peuvent être exécutées autant de fois que nécessaire jusqu'à obtention du fonctionnement souhaité.

A partir du moment où le câble USB est déconnecté, le microcontrôleur, si son alimentation est autonome (batterie), va exécuter en permanence le dernier programme téléversé.

Plateformes Arduino et Teensy

Les deux plateformes sont constituées à partir du même ordinateur complété, soit d'un microcontrôleur de la famille Arduino, soit d'un microcontrôleur Teensy. Les deux plateformes utilisent le même IDE. L'IDE est :

  • soit l'Arduino web editor (disponible uniquement pour Linux 64 bits en date du 14/03/2018)
  • soit l'Arduino IDE (Linux 32 bits et 64 bits)

les deux sont accessibles par ce lien.

La documentation.

Dans le cas du Teensy, il est complété de librairies spécifiques.

Prenons l'exemple de l'installation de l'IDE arduino-1.8.8

  • sur le site arduino, télécharger l’archive arduino-1.8.8-linux64.tar.xz
  • la décompresser puis installer avec les commandes :
    • tar Jxvf arduino-1.8.8-linux64.tar.xz
    • ./arduino-1.8.8-linux-setup.sh $USER
    • reboot
    • lancement arduino.

Plateforme Microchip

Elle est traitée en un projet séparé accessible par le lien PIC.

Organisation des fichiers Arduino

En référence à l'article Gérer vos fichiers Arduino et selon l'exemple du fichier volumineux e-p-wifi.ino, une organisation en plusieurs fichiers devient nécessaire. Le principe est de mettre les définitions, fonctions, modules dans des fichiers "header" séparés, par exemple a.h, et de l'appeler avec l'ordre :

#include a.h.

Le programme Arduino peuta être divisé en 5 paragraphes :

  1. Introduction
  2. Initiation des paramètres
  3. Fonctions spécifiques
  4. Fonction setup
  5. Fonction loop

Supposons que nous voulions organiser notre fichier .ino en 2 fichiers séparés, la procédure est la suivante :

  • créer dans le même répertoire un nouveau fichier, par exemple a.h
  • concernant les paragraphes 1, 2 et 3 :
    • dans le fichier .ino sélectionner puis couper les lignes que vous souhaitez transférer dans le fichier a.h
    • coller ces lignes dans le fichier a.h
    • répéter l'opération pour chaque paragraphe
  • au paragraphe 2 le déclarer par #include a.h
  • concernant le paragraphe 4 setup :
    • procéder au transfert des lignes de code comme précédemment (couper puis coller)
    • dans le fichier .ino appeler le fonction setup_a ();
    • dans le fichier a.h créer la fonction void setup_a () {lignes de code précédemment copier}
  • concernant le paragraphe 5 loop limiter au strict minimum le nombre de lignes de code en appelant les fonctions spécifiques qui se trouvent au paragraphe 3.

Arduino forum

Avant d'utiliser le forum, il est prudent de prendre connaissance du How to use Arduino forum.

Ce document comporte 16 rubriques, les 5 premières sont essentielles, elles sont rappeler ci-dessous :

  • 1. Register and sign in (en français connection, tandis que sign out veut dire déconnexion)
  • 2. Choose an appropriate forum section - Attention cette étape est indispensable pour avoir accès au New Topic button [5] qui permet l'édition d'une requête.
  • 3. Choose the correct language
  • 4. Do some research before posting
  • 5. Click on the New Topic button
  • 8. You can add attachments (images should be no more than a couple of hundred K bytes
  • 9. You can insert images.

Gestion de versions

Un logiciel de gestion de versions est un logiciel qui permet de stocker un ensemble de fichiers en conservant la chronologie de toutes les modifications qui ont été effectuées dessus. Il permet notamment de retrouver les différentes versions d'un lot de fichiers connexes.

Git et Git-hub

Il en existe de nombreux, Git est le logiciel créé par Linus Torvald, auteur du Kernel Linux. Il utilise des commandes comme commit, branches, merge... L'hébergement des fichiers sources s'effectue sur GitHub, ce qui permet de collaborer facilement sur des projets qui utilisent des logiciels libres.

La formation recommandée est Gérer son code avec git et github sur Openclassroom.

Pour installer git taper dans un terminal :

  • sudo apt install git

Pour créer une copie du projet SCAO en provenance du site github, taper dans un terminal la commande :

Git-lfs

Un message de warning est affiché :

File Plan-de-management/plan de management.odt is 53.71 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB

La préconisation est :

You may want to try Git Large File Storage - https://git-lfs.github.com.

Après l'installation du paquet, lors de l'exécution de la commande :

  • sudo git lfs install

une erreur survient :

/usr/local/bin/git-lfs: 1: /usr/local/bin/git-lfs: Syntax error: Unterminated quoted string

Malgré l'erreur, je teste :

  • sudo git add Plan-de-management/plan-de-management.odt
  • sudo git commit "Ajouter fichier > 50MO plan-de-management.odt"
  • sudo git push origin master

Dans Github, je retouve le fichier avec les commentaires : View raw (Sorry about that, but we can’t show files that are this big right now.)

Je clique sur View raw, la fenêtre suivante s'ouvre :

Ouvrir en lecture seule un fichier de plus de 50MO

Si :

  • je choisis Ouvrir avec LibreOffice Writer, le fichier est visualisé.
  • je choisis Enregistrer le fichier, le fichier est téléchargé et disponible dans le répertoire Téléchargements.

Je fais le même test avec le fichier plan de management_old.doc qui n'a pas fait l'objet d'un nouveau "push", le résultat est le même. Conclusion : les fichiers de plus de 50 MO sont mémorisés, par contre, ils sont visualisables qu'après un téléchargement. Donc, le paquet git-lfs n'est pas opérationnel.

Je laisse tomber git-lfs et j'en profite pour faire un peu de nettoyage.

Je supprime des fichiers inutiles, le premier :

Plan-de-management/plan de management.odt avec la commande :

  • sudo git rm Plan-de-management/plan de management.odt

ça ne marche pas parce que Ubuntu n'aime pas les espaces, je contourne la difficulté avec :

  • sudo git rm Plan-de-management/"plan de management.odt"

Les suivants :

  • Plan-de-management/plan de management_old.doc
  • BOINC/BOINC.odt.

Synchronisation des 2 ordinateurs

Pour les 2 ordinateurs, le fixe et le portable, l'objet est d'assurer la conformité des contenus de leur répertoire SCAO respectif selon la règle de synchronisation de fichiers.

Une fois par semaine, sur l'ordinateur fixe, dans le répertoire SCAO :

  • sudo git status
  • En fonction du résultat, effectuer l'ajout des nouveaux fichiers et terminer par :
    • sudo git commit -a, cette commande va ouvrir fichier SCAO/.git/COMMIT_EDITMSG, dans ce fichier indiquer la raison du commit
    • ctrl x
    • sauver l'espace modifié ? Oui
  • sudo git push origin master
  • sur l'ordinateur portable :
    • sudo git pull origin master.

Compacter des fichiers avec la commande zip

Pour regrouper le contenu d'un répertoire en vue de l'envoyer à un correspondant.

zip - package and compress (archive) files

Ouvrir un terminal et taper la commande (exemple) :

  • zip quiet-cook.zip tp_quiet-cook

Libraries

En bon français, il faut dire bibliothèque logicielle.

En anglais Library_(computing).

Une bibliothèque logicielle est une collection de routines, qui peuvent être déjà compilées et prêtes à être utilisées par des programmes.

Pour éviter toute confusion linguistique, l'appellation utilisée par la suite sera celle issue de l'anglais : "library".

Au fur et à mesure des besoins ces libraries, installées sur le disque dur de l'ordinateur, se multiplient.

Sur l'ordinateur fixe ASUS, ces libraries sont présentent dans les répertoires :

  • /home/leruste/Téléchargements/teensy/avr/libraries
  • /home/leruste/Téléchargements/arduino-1.6.9/libraries
  • /root/Arduino/libraries.

Installation des libraries

La plupart des librairies se trouve sur le site github, un exemple :

la librarie Time publié par Paul Stoffregen.

Pour trouver une librarie sur le site github, il convient d'utiliser le moteur de recherche à gauche du logo. En tapant "Chrono" on trouve :

Chrono publié par Sofian Audry and Thomas Ouellet Fredericks

Pour installer ces libraries sur un ordinateur, dans notre exemple, sur l' ASUS, Github propose deux méthodes :

  1. le clonage
  2. le téléchargement.

D'autre part, le répertoire privilégié par le compilateur de l'arduino IDE est :

/root/Arduino/libraries

Dans le cas du clonage et dans l'exemple de la library Chrono, dans un terminal, tapez successivement :

Dans le cas du téléchargement, sur le site Github, effectuer le téléchargement, sur l'ordinateur, il en résulte le fichier ~Téléchargements/Chrono-master.zip, 2 méthodes d'installation s'offrent à vous :

La copie d'écran ci-dessous donne l'exemple de la sélection du fichier Chrono-master.zip :

Sélection du fichier .zip
  • Décompresser les fichiers puis les déplacer dans le répertoire /root/Arduino/libraries.

Arduino Wrapper library

J'ai rencontré pour la première fois cette terminologie de "wrapper library" en installant la librairie Telemetry Arduino.

Pytelemetry Command Line Interface

Le "Pytelemetry Command Line Interface" est complémentaire de la fonction réalisée par "Telemetry".

Il permet, à partir de l'ordinateur, la réception des données envoyées par le microcontrôleur ainsi que leur visualisation. Pour installer ce module, il faut disposer de :

Une installation de ce module a été entreprise, 2 problèmes ont été rencontrés :

  • Ubuntu 16.04 LTS permet l'installation de python des versions 2.7.x (2.7.12 sur l'ordinateur ASUS) mais pas au delà
  • le gestionnaire de paquetspip génère une erreur : cannot import name main.

Conclusion : ce module "Pytelemetry Command Line Interface" semble avoir été développé pour le monde de Windows sans préoccupation de sa compatibilité au monde de Linux.

Néanmoins, cette expérience aura permis d'explorer le langage de programmation Python qui semble être, en complément du langage BASH, un langage adapté pour développer des programmes dédiés au PC qui pourraient dialoguer avec le microcontrôleur.

Les logiciels

DFINITY Foundation

En référence à l'article de Planet Linux n°116 scanné ci-dessous :

Dfinity

The DFINITY Foundation is a not-for-profit organization based in Zurich, Switzerland, and oversees research centers in Palo Alto, San Francisco, and Zurich.

DFINITY was founded in 2016 by Dominic Williams.

DFINITY introduit la notion d'Internet computer dont il donne la définition suivante :

  • The Internet Computer extends the functionality of the public Internet so that it can host backend software, transforming it into a global compute platform.
  • En français : l’ordinateur Internet étend les fonctionnalités de l’Internet public afin qu’il puisse héberger des logiciels d’arrière-plan, le transformant en une plate-forme informatique mondiale.

L'utilisation par les développeurs de l'Internet computer :

  • Using the Internet Computer, developers can create websites, enterprise IT systems and internet services by installing their code directly on the public Internet and dispense with server computers and commercial cloud services.
  • À l’aide de l’ordinateur Internet, les développeurs peuvent créer des sites Web, des systèmes informatiques d’entreprise et des services Internet en installant leur code directement sur l’Internet public et se passer d’ordinateurs serveurs et de services infonuagiques commerciaux.

Un article intitulé "Le fabuleux projet d’un Internet Computer va-t-il voir le jour?" est publié par ICT journal est accessible par le lien : Ict journal.

A l'attention des développeurs un Software Development Kit (SDK) est accessible sur le site DFINITY Foundation.

Il est nommé DFINITY Canister SDK. Sous Ubuntu, il peut être installé à partir d'une commande curl dans un terminal.

Après installation du SDK, il est accessible en mode "command-line interface (CLI)" à partir du même terminal. Il suffit de taper la commande dfx (abréviation de dfinity executor) en respectant l'usage suivant :

  • dfx [FLAGS] [OPTIONS] [SUBCOMMAND], par exemple :
  • dfx --version, en outre, les détails de la commande dfx peuvent être affichés par :
  • dfx --help.

Le SDK est complété par :

  • l'éditeur Visual Studio Code équipé de l'extension : Motoko language support published by DFINITY Foundation.

The Motoko programming language is a new, modern, type-sound language designed for developers who want to build the next generation of apps and services to run directly on the internet. Motoko is specifically designed to support the unique features of the Internet Computer and to provide a familiar yet robust programming environment.

Processing

Processing is a flexible software sketchbook and a language for learning how to code within the context of the visual arts.

Accès au Site processing

Consulter les logs

"Être capable de chercher dans les logs peut se révéler indispensable. Les journaux de log sont stockés dans le répertoire /var/log/ et sont consultables grâce aux commandes tail, grep et zgrep."

La phrase ci-dessus est un copier/coller du site Debian.

Sous Ubuntu, ce répertoire /var/log contient des journaux d'événements éditer au fil de l'eau par le processeur. C'est une sorte d'espion qui enregistre tous les événements survenus lors d'une session informatique.

Le logiciel (daemon) qui gère ces journaux d'événements est rsyslog. Ces événements permettent de repérer plus rapidement et efficacement les défaillances des ordinateurs.

Voir également Les fichiers journaux syslog.

Pour lister les fichiers log, taper la commande :

  • ls -l /var/log/*.log

Prenons l'exemple du fichiers des authentifications (auth.log).

Pour afficher les 10 dernières lignes de ce fichier log, taper la commande :

  • tail -f /var/log/auth.log

Pour éditer l'un de ce même fichier, taper la commande :

  • gedit /var/log/auth.log

Le contenu d'une ligne est par exemple :

  • Jun 15 11:22:37 airel-System-Product-Name systemd-logind[634]: New session 4 of user airel.

Dans chaque ligne d'évènement on distingue :

  • La date et l'heure à laquelle l'évènement a été déclenché : Jun 15 11:22:37
  • Le processus déclencheur de l'évènement :airel-System-Product-Name
  • Le processus ayant demandé l'ajout du message correspondant au log : systemd-logind[634]
  • Le niveau de gravité du message (priority) : ?
  • La désignation de l'événement : New session 4 of user airel.


rsyslog possède un fichier de configuration rsyslog.conf, il est stocké dans le répertoire /etc . On peut modifier ce fichier pour l'adapter à nos besoins en messages d'évènements survenus sur le système : envoi de mail, authentification, etc... Le fichier rsyslog.conf comporte en fin de fichier une ligne :

  • $IncludeConfig /etc/rsyslog.d/*.conf

qui inclus les fichiers contenus dans le répertoire rsyslog.d. Ces fichiers sont :

  • 20-ufw.conf et 50-default.conf

Extrait du contenu du fichier 50-default.conf :

  • auth,authpriv.* /var/log/auth.log
  • *.*;auth,authpriv.none -/var/log/syslog
  • #cron.* /var/log/cron.log
  • #daemon.* -/var/log/daemon.log
  • kern.* -/var/log/kern.log
  • #lpr.* -/var/log/lpr.log
  • mail.* -/var/log/mail.log
  • #user.* -/var/log/user.log

Modifions ce fichier 50-default.conf en enlevant le # qui précède user. Après avoir rebooter l'ordinateur on s'apercoit qu'un nouveau fichier a été créé sous le répertoire /var/log :

  • -rw-r----- 1 syslog adm 255188 juin 14 16:03 user.log

Pour une défaillance donnée, la grande difficulté est de trouver parmi ces journaux, l'information pertinente qui va permettre d'orienter le diagnostic.

Ce moyen peut s'avérer précieux pour aider à diagnostiquer des pannes aléatoires. Celle qui m'intéresse en particulier est l'anomalie N°30. Le constat est : Après en moyenne 15mn de fonctionnement, l'ordinateur est brutalement mis en état de "shutdown". Indifféremment, cette anomalie apparaît sous Ubuntu 18.04 ou sous Windows XP.


Where can I find the log file of my system temperature?

Je m'oriente vers le forum askubuntu where-can-i-find-the-log-file-of-my-system-temperature.

Je concrétise les fichiers et je test le script proposé par jrg.

Le script fonctionne, le problème toutefois est que l'application lm-sensors ne détecte pas toutes les sondes.

Pour détecter les sondes il faut lancer :

  • sudo sensors-detect

J'ai essayé plusieurs fois mais il y a toujours des erreurs.

L'installation sous Windows de Speedfan et Specy a demandé 2 minutes et ils fonctionnent correctement.

J'ai fait la même installation et les mêmes essais sur le portable LDLC (Ubuntu 20.04 LTS), le résultat est le même sauf quil n'y a pas d'erreur détectée.

Conclusion : J'arrête les investigations, c'est un projet qui m'intéresse que je confierai à un informaticien.

N.B. : Le chip IT8712F-J installé sur la carte mère interface les différents capteurs de température, mesure des tensions et vitesse des ventilateurs. Voir sa datasheeet à la page 23.

Unified Modeling Language (UML)

Le Langage de Modélisation Unifié, de l'anglais Unified Modeling Language (UML), est un langage de modélisation graphique à base de pictogrammes conçu pour fournir une méthode normalisée pour visualiser la conception d'un système. Il est couramment utilisé en développement logiciel.

Le besoin initial est le diagramme d'activité pour :représenter les fonctions logicielles.

Les logiciels sont nombreux et le plus souvent payants. Dans le cadre de ce projet :

  • le site 40 open source, free and top UML tools permet d'orienter le choix
  • lucidchart qui est un logiciel propriétaire et accessible en ligne. Attention, il est gratuit mais dès que vous avez besoin d'une fonctionnalité particulière, c'est payant, bravo !
  • une alternative est plantuml


Ce logiciel est disponible sous la forme d'un fichier .jar (java archive) qu'il faut télécharger.

La particularité principale de Java est que les applications écrites dans ce langage sont très facilement portables sur plusieurs systèmes d’exploitation tels que UNIX, Windows®, Mac OS® ou GNU/Linux®, avec peu ou pas de modifications.

Si Java est déja installé sur l'ordinateur, il n'y a pas d'installation supplémentaire, pour utiliser le .jar, il faut se référer à la doc ubuntu. la commande est :

java -jar plantuml.jar -gui

En complément, il faut installer Graphviz :

  • sudo apt install graphviz

Une autre alternative est Dia (wikipedia) accessible sur le site Dia. Dia est un logiciel libre de création de diagramme développé en tant que partie du projet GNOME.

Dia fait appel à des bibliothèques de symboles spécifiques à de nombreux domaines. Ces domaines sont principalement : électricité, électronique, circuits logiques, logiciel (graphes de flux), réseau, ordinateur, téléphone, UML, etc...

Pour créer sous dia un fond de couleur en arrière plan :

  • définir un rectangle de la dimension de la page, le sélectionner et dans propriétés définir la couleur du remplissage
  • dessiner au dessus du fond de couleur.

Voir choix des couleurs.

Le langage de programmation

Un langage de programmation est une notation conventionnelle destinée à formuler des algorithmes et produire des programmes informatiques qui les appliquent.

La liste de langages de programmation est impressionnante.

Dans le cadre du projet SCAO, les langages de programmation utilisés sont limités au strict nécessaire :

Ces langages de programmation sont complétés par les langages spécifiques des logiciels applicatifs.

Les systèmes d'exploitation

Les systèmes d'exploitation, en anglais operating system, installés sur l'ordinateur fixe sont Windows XP et Linux. Le maintien de Windows XP est nécessaire à l'utilisation de l'application SCAO, du prototype N°2, développée sous Labview. Windows XP pourra être abandonné lors de l'aboutissement du prototype N°3.

Linux

Un noyau de système d'exploitation, ou simplement noyau, ou kernel (de l'anglais), est une des parties fondamentales du système d'exploitation. Il gère les ressources de l'ordinateur et permet aux différents composants — matériels et logiciels — de communiquer entre eux. Une distribution est un ensemble cohérent de logiciels assemblés autour de ce noyau. Le noyau est le noyau Linux, la distribution choisie est Ubuntu.

Les fichiers et répertoires cachés (exemple : Thunderbird)

En informatique, un fichier caché est un fichier qui n'est visible pour un utilisateur que sur demande explicite. De façon similaire, un répertoire caché (ou dossier caché) est un répertoire qui n'est visible que sur demande.

Sous Linux, les fichiers cachés sont des fichiers dont le nom commence par un point (.). Ce sont le plus souvent des fichiers de configuration (.bashrc pour bash, etc.) ou des répertoires contenant des fichiers de configuration (exemple .ssh pour SSH, .kde pour KDE, .gconf pour GConf, .mozilla et .thunderbird pour des logiciels de Mozilla, etc.).

La commande ls par défaut n'affiche pas les fichiers et répertoires cachés (il faut préciser ls --all).

Ces fichiers et répertoires sont accessibles à partir du dossier de l'utilisateur symbolisé par le caractère spécial ~.

Ils sont sauvegardés systématiquement avec les autres fichiers de l'utilisateur.

L'exemple typique est la messagerie Thunderbird, le répertoire caché est :

  • .thunderbird

Thunderbird enregistre vos informations personnelles telles que les messages, les carnets d’adresses, les mots de passe et les préférences dans un ensemble de fichiers appelé « profil », qui est stocké dans un emplacement différent des fichiers de programme de Thunderbird.

Dans cette exemple pour migrer la messagerie d'un ordinateur à un autre, il faut copier puis coller le répertoire .thunderbird et son contenu.

The Linux Boot Process

La référence au MOOC The Linux Boot Process est nécessaire pour une bonne compréhension des détails de ce process.

En complément :

Les 2 programmes qui sont successivement exécutés sont le BIOS (carte mère) et le Boot loader.

Le BIOS

Le BIOS contenu dans la mémoire EEPROM de la carte mère de l'ordinateur permet d'effectuer des opérations de base lors de la mise sous tension. En particulier, le POST qui consiste à un ensemble de tests. Lors du déroulement du BIOS, l'appui sur la touche Suppr. permet l'entrée dans le BIOS setup utility pour définir ou modifier un ensemble de paramètres de configuration.

La mise à jour du BIOS sous ubuntu est possible mais délicate. Dans la documentation ubuntu deux méthodes sont proposées, la première en émulant DOS, la seconde avec Flashrom.

J'ai essayé la méthode Flashrom sur deux ordinateurs mais sans succès car les cartes mères ne sont pas supportées par Flashrom.

L'UEFI

Le standard UEFI (de l’anglais Unified Extensible Firmware Interface) définit une interface entre le micrologiciel (firmware) et le système d'exploitation (OS) d'un ordinateur. Cette interface succède sur certaines cartes-mères au BIOS.


Le Boot loader (Grub)

Le Boot loader qui correspond à l'exécution du fichier grub (/boot/grub/grub.cfg) qui se trouve sur 512 premiers bytes du disque dur concerné par le boot, les étapes sont :

  • un menu qui apparaît à l'écran et invite l'utilisateur à choisir le système d'exploitation (Linux ou Windows XP) ou des tests ainsi que le lancement de Linux en mode "recover",

(N.B. : En tapant "c", grub affiche une invite de commande, il est alors possible de modifier des paramètres)

  • après la temporisation ou le choix de l'utilisateur grub effectue les opérations suivantes :
    • chargement du kernel dans la RAM
    • décompression
    • vérification
    • analyse
    • initialisation des drivers des matériels.

Comme le montre la figure ci-dessous, la génération du fichier /boot/grub/grub.cfg se fait à partir de la commande grub-mkconfig qui prend en compte les options indiquées par l'utilisateur dans le fichier /etc/default/grub ainsi que les différentes "templates" contenues sous le répertoire /etc/grub.d.

Génération du fichier /boot/grub/grub.cfg

Le contenu du fichier /etc/default/Grub est :

Contenu du fichier /etc/default/Grub

Les partitions

L'espace de chaque disque dur est divisé en partitions. Le logiciel GParted permet de gérer ces partitions ainsi que les systèmes de fichiers qui s'y rattachent.

Concernant l'ordinateur fixe, la copie d'écran ci-dessous donne le détail des partitions du disque dur 150 GO :
partitions du disque dur 150 GO

Le détail pour /dev/sda organisé en multiboot (Windows XP et Linux) est :

  • représentation graphique des partitions, en jaune l'espace occupé, en blanc l'espace disponible
  • dans le tableau de gauche, informations sur le périphérique
  • dans le tableau de droite :
    • la partition
    • le système de fichier
    • l'étiquette
    • la taille
    • l'espace utilisé
    • l'espace inutilisé
    • les drapeaux boot ou lba

La première partition /dev/sda1 utilise le système de fichiers ntfs correspondant au système d'exploitation Windows XP de microsoft. La seconde partition /dev/sda2 est "extended" se subdivise en :

  • /dev/sda5 - ntfs - Données -
  • non alloué
  • /dev/sda7 - ext4 correspondant au système d'exploitation Linux
  • /dev/sda8 - Linux-swap correspondant au système d'exploitation Linux
  • /dev/sda6 - ext4 correspondant au système d'exploitation Linux. La partition est quasiment pleine et aurait besoin d'être agrandie, un redimensionnement de la partition a été tenté mais la tentative a échoué. Pour cette raison, Linux a été également installé sur le second disque de 500 GO.

Minicom

Minicom is a serial communication program.

Ce programme permet de remplacer le moniteur série de l'Arduino IDE.

Pour installer le paquet minicom :

Pour initialiser le port ttyACM0 (par exemple) et éviter l'erreur "ne peut ouvrir /dev/modem"  :

  • sudo minicom -D /dev/ttyACM0 -b 9600

Pour le configurer :

  • sudo minicom -s

Pour le lancer avec l'option de capture des données dans un fichier :

  • sudo minicom -C nom_du_fichier.

Formater un support

En référence à Planète Linux n°112, il s'agit de formater un support tels qu'un disque dur ou une clé USB. Dans l'exemple qui suit, il s'agit d'une clé USB connectée au préalable à une embase USB de l'ordinateur. Le principe consiste en 2 opérations successivesest : 1 - démonter la clé, 2 - la formater. Ensuite, en options, vous pouvez la renommer et la vérifier. Le logiciel utilisé est Gparted (voir le paragraphe Les partitions) que l'on exécute en mode sudo.

La procédure est la suivante :

  • sauvegarder les fichiers
  • ouvrir un terminal (Ctrl-Alt-T) et lancer gparted $~sudo gparted
  • cliquer sur l'onglet GParted - Périphériques - choisir la partition /dev/sdg correspondante à l'étiquette "NEW_VOLUME" de la clé USB
  • cliquer sur la partition sdg1 (attention : dans les opérations à suivre répéter cette opération si nécessaire)
  • cliquer sur l'onglet Partition - Démonter
  • cliquer sur l'onglet Partition puis sur la partition sdg1
  • cliquer sur l'onglet Partition - Formater en fat32
  • cliquer sur l'onglet Edition - Appliquer toutes les opérations - Appliquer - Fermer
  • cliquer sur l'onglet Partition - Etiqueter le système de fihier - nommer : BIDON (par exemple)
  • cliquer sur l'onglet Partition - Vérifier
  • cliquer sur l'onglet Edition - Appliquer toutes les opérations - Appliquer - Fermer.

La clé est maintenant formatée mais elle n'est pas montée. En effet, si vous cliquer sur l'onglet partition, vous vous apercevez que l'option "monter" est grisée donc non opérationnelle. La meilleure solution pour monter la clé est de rebooter l'ordinateur.

Après avoir rebooter vous vous apercevez que la clé BIDON est présente sur le bureau. Elle est donc maintenant utilisable avec les précautions d'usage.

Le terminal

Le terminal

Xterm

Manuel xterm

Le copier-coller : vous surlignez en balayant une zone de texte bouton gauche enfoncé, et vous collez en cliquant du bouton central.

Les menus de Xterm (maintenir appuyé simultanément les touches CTRL et l'une des 3 de la souris :

  • gauche (main menu)
  • milieu (VT options)
  • droite (Unicode fonts).

Guide de survie sous Linux

Le navigateur

Un navigateur web («browser» en anglais) est un logiciel conçu pour consulter et afficher le World Wide Web.

Dans le cadre de ce projet c'est firefox qui est choisi.

Il est développé par Mozilla.

La sécurité de firefox est traité sur Github dans un article intitulé "Sécurité informatique".

Dans le cadre du projet site-web, il permet dans la phase de développement le test des fichiers html et css avec la commande :

  • firefox SCAO/wiki/tp_quiet-cook/index.html

Dans la phase opérationnelle :

  • Le module sync, après création d'un compte Firefox, permet de se connecter au Web, à partir de l'ordinateur fixe, du portable ou d'un smartphone en accédant aux onglets ouverts, aux marque-pages et aux mots de passe qui ont été initialisés par l'un des trois appareils. Les paramètres de synchronisation sont accessibles et modifiables par le menu de firefox en cliquant sur "ouvrir les préférences de sync".

Sécurité informatique

Cet article est accessible en Cliquant sur le lien vers github.

Lancement d'une application au démarrage

Le Lancement d'une application au démarrage dépend de l'environnement de bureau, dans notre cas, il s'agit de Unity.

Recherchez l'utilitaire "Applications au démarrage" avec l'utilitaire "Afficher les applications" et lancez-le.

N.B. : l'utilitaire "Afficher les applications" est représenté par l'icône du "dash" (3 lignes successives de 3 points).

Lancement SCAO et Goto Bridge sous Windows en mode sans échec

En cas de difficultés pour lancer Windows XP, il est possible de le lancer en mode sans échec, avec ou sans invite de commande. Dans le cas de l'invite de commande, il faut connaître les emplavcements où se trouvent les fichiers exécutables .exe :

  • c:\Documents and Settings\Utilisateur\Mes Documents\builds\SCAO - 6 version 56\version \Applications.exe
  • c:\Program Files\Goto.Games\GotoBridge\GotoBridge 2009.exe.

Pour quitter Windows :

  • l'invite de commande, taper exit
  • taper simultanément Ctrl - Alt - Suppr pour accéder au gestionnaire de tâches de Windows :
    • Arréter -> fermer la session utilisateur
    • Arrêter l'ordinateur- Arrêter.

Mot de passe

Contexte :

  • Le disque dur ATA WDC WD5000AACS-0 de l'ordinateur ASSUS sur lequel est installé Ubuntu 16.04 LTS n'est plus accessible car le mot de passe dont j'ai la quasi certitude n'est plus reconnu.
  • La cause est vraisemblablement la non utilisation de ce disque depuis plusieurs semaines.

Analyse :

  • le mot de passe est géré par :
    • 2 fichiers, /etc/passwd et /etc/shadow
    • la commande passwd - Modifier le mot de passe d'un utilisateur.
  • Le statut du mot de passe est obtenu en utilisant la cde passwd -S leruste qui retourne sous la forme de 7 champs :
    • leruste P 02/27/2019 0 99999 7 -1
      • Le premier champ est le nom du compte.
      • Le second champ indique si le mot de passe est bloqué (L), n'a pas de mot de passe (NP) ou a un mot de passe utilisable (P).
      • Le troisième champ donne la date de dernière modification du mot de passe.
      • Le quatrième champ donne la durée minimum avant modification,
      • Le cinquième la durée maximum de validité,
      • Le sixième la durée d'avertissement,
      • Le septième la durée d'inactivité autorisée pour le mot de passe.
      • N.B. : Les durées sont exprimées en jours.

Sur les forums, plusieurs solutions sont proposées, sur le conseil d'Antoine, j'essaie celle-ci :

  • user-forgottenpassword
    • Je suis la procédure de création d'un nouveau mot de passe et j'obtiens le message suivant : erreur de manipulation du jeton d'identification, mot de passe inchangé.

Concernant mon compte, le contenu du fichier /etc/passwd est :

  • leruste:x:1000:1000:LERUSTE,,,:/home/leruste:/bin/bash

Créer un alias

Les alias sont des substitutions abrégées de commandes. Ils permettent d'exécuter la commande quelque soit le répertoire dans lequel l'on se trouve.

Pour créer un alias, consulter la documentation Ubuntu.

Exemples (ligne 95 du fichier ~/.bashrc) :

  • alias arduino-cli=~/arduino-cli/arduino-cli
  • alias openscad=~/openscad/OpenSCAD.AppImage.

Après l'ajout de l'alias, taper la commande :

  • source ~/.bashrc

Installation des logiciels

Avant d'installer un logiciel, il convient d'identifier l'architecture matérielle du processeur. Voir également la définition wikipédia.

Avec Ubuntu 2 architectures sont possibles :

  • 32 bits
  • 64 bits.

Il convient de donner la préférence à une architecture 64 bits si le processeur l'accepte.

L'installation d'un logiciel se concrétise par l'installation de un ou plusieurs paquets. En informatique, et en particulier dans le contexte des systèmes UNIX, on appelle paquet (ou parfois paquetage, en anglais package) une archive (fichier compressé) comprenant les fichiers informatiques, les informations et procédures nécessaires à l'installation d'un logiciel sur un système d'exploitation au sein d'un agrégat logiciel, en s'assurant de la cohérence fonctionnelle du système ainsi modifié.

Le tutoriel comment installer un paquet peut servir de guide.

Le système de gestion de ces paquets est APT (Advanced Packaging Tool).

Pour installer Openscad :

  • $ sudo add-apt-repository ppa:openscad/releases
  • $ sudo apt-get update
  • $ sudo apt-get install openscad

Pour obtenir une version plus récente d'openscad, à partir du site openscad choisir, dans le paragraphe, "Other Linux" le téléchargement de The AppImage package, 2 versions selon l'architecture sont proposées, prendre la X86(64bits). Puis récupérer le fichier dans le répertoire Téléchargements et enfin le rendre exécutable (voir la documentation Ubuntu).

Prenons l'exemple de l'installation de l'IDE arduino-1.8.8

  • sur le site arduino, télécharger l’archive arduino-1.8.8-linux64.tar.xz
  • la décompresser puis installer avec les commandes :
    • tar Jxvf arduino-1.8.8-linux64.tar.xz
    • ./arduino-linux-setup.sh $USER
    • reboot
    • lancement arduino.

Installation de l'éditeur Atom

  • Sur le site atom télécharger atom.amd64.deb
  • Extraire les fichiers
  • Installer atom en suivant la procédure du flight manual
  • lancer atom en ligne de commande.

Les logiciels applicatifs

La modélisation des pièces constitutives du SCAO mets en œuvre trois logiciels :

  • LibreCAD : pour les plans en 2D, pour un même plan, un empilement de calques (en anglais layers) est utilisé, chaque calque ayant sa fonction propre. Les fichiers .dxf facilitent l'échange avec les deux autres logiciels.
  • Openscad : pour les dessins en 3D, l'importation des fichiers .dxf est utilisé conjointement à une extrusion linéaire pour constituer des objets 3D. En d'autres termes une extrusion linéaire à partir d'un fichier dxf. N.B. : si le fichier .dxf n'est pas dans le même répertoire, il convient d'utiliser : ../LibreCAD/nom_du_fichier.dxf. The $t variable is used for animation. If you enable the animation frame with view->animate and give a value for "FPS" and "Steps", the "Time" field shows the current value of $t. Un exemple d'animation est traité dans le fichier Assemblage_f.scad
  • Cura is an open source 3D printer slicing application. Il permet, à partir d'un fichier .stl produit par Openscad de générer un fichier g-code exécutable sur une imprimante 3D. Ce logiciel est développé par Ultimaker qui met à disposition un fichier binaire qu'il suffit de télécharger et de rendre exécutable par la commande :

sudo chmod +x Ultimaker_Cura-3.6.0.AppImage

Ces importations apportent souplesse et précision car elles permettent de définir une fois pour toute les valeurs attribuées aux dimensions, longueurs, largeurs, entraxes, positionnement d'un objet etc...

En compléments :

  • Les schémas de la documentation sont réalisées à l'aide du logiciel Inkscapequi fait l'objet de 2 sous-paragraphes (ci-dessous) :
  • le premier donne un exemple de son utilisation
  • le second aborde les particularités des opérations booléene.
  • La retouche des photos et les animations sont réalisés à l'aide du logiciel Gimp, par exemple pour réduire la taille du fichier d'une photo suivre la procédure :
    • Lancer GIMP puis ouvrir le fichier .JPG et sélectionner le menu image,
    • -> mode -> couleurs indexées -> convertir en couleurs indexées -> utiliser une palette optimisée pour le web
    • finaliser en exportant le fichier en .png
    • vérifier que la taille du fichier a bien diminué et que l'image est d'une qualité correcte.
  • Un autre exemple est la création d'une image animée sous la forme d'un fichier .gif :
    • Sous GIMP créer un fichier multi-calques .xcf
    • Exporter (Fichier - Exporter) ce fichier en choissisant l'extension .gif
    • Ce fichier .gif mise en pièce-jointe d'un e-mail crée une image animée dès l'ouverture de l'e-mail.
  • Encore un exemple est la découpe ou le recadrage des photos :
    • Outils → Outils de transformation → Découpage.
  • La bureautique est assurée par la suite bureautique Libre Office, en particulier Calc permet de générer puis d'enrichir des diagrammes selon une procédure résumée ci-dessous :
    • au préalable, générer un fichier .csv avec les champs séparés par des ;
    • sauvegarder le fichier au format .ods
    • attention au formatage des données : le séparateur des données numériques doit être la "," et non le "."
    • dans la feuille de calcul, sélectionner les plages de données selon l'axe Y
    • à l'aide du menu, insertion - diagramme, générer un diagramme
    • une fenêtre s'ouvre : assistant de diagramme, les étapes sont :
      • type de diagramme, choisir ligne
      • plages de données, ne rien modifier
      • séries de données :
        • dans le champ catégorie (voir la capture d'écran ci-dessous), ajouter les données correspondantes à l'axe des X en les sélectionnant : cliquer d'abord sur l'icône à l'extrême droite de la fenêtre, puis effectuer la sélection (sans la première ligne qui contient le nom de la colonne et sans appuyer sur la touche maj).
      • éléments du diagramme (titres, sous-titres, axes X et Y),
    • l'assistant de diagramme ainsi qu'un exemple de diagramme sont visualisés successivement ci-dessous :
Assistant de diagramme
Exemple de diagramme

Schémas partiels :

a) avec kicad et Inkscape

À partir du schéma électrique du CI CMS e-p-433 établi avec kicad, l'exemple traite du découpage d'un schéma partiel correspondant à l'amplificateur de thermocouple et de de sa récupération dans un fichier PNG. La procédure est la suivante :

  • Kicad :
    • sudo kicad e-p-433.pro
    • cliquer sur le fichier e-p-433.sch (Ouverture du fichier avec Eschema)
    • Génération du fichier e-p-433.pdf : File - Plot - Plot - Format PDF - Plot all pages.
  • Inkscape :
    • sudo inkscape e-p-433.pdf (importation du fichier e-p-433.pdf dans inkscape)
    • Une fenêtre s'ouvre "Préférences pour l'importation du fichier pdf" - Cliquer valider
    • Effectuer une sélection à l'aide d'une fenêtre ajustée au schéma partiel
    • Exporter une image PNG, choisir un nom de fichier, e-p-433-amp.png
    • Vérifier l'image avec "Visionneur d'images" (eog).

b) avec librecad et Inkscape

  • librecad :
    • ouvrir le fichier .dxf
    • sélectionner les calques souhaités
    • fichier - export - Export as PDF (ne pas utiliser "as image" car la qualité est mauvaise)
  • inkscape : voir a)

Inkscape - Opérations booléennes

Les opérations booléennes (union, différence, intersection, exclusion et division) sont expliquées par un tutoriel. Elles sont accessibles à l'aide du menu "chemin (path)".

Leur utilisation est délicate et demande une préparation correcte des 2 objets qui vont faire l'objet de l'opération booléenne. Dans le cas de l'opération différence, elle est effectuée selon le principe "dessous moins dessus" :

  • le dessous est aussi appelé l'arrière plan
  • le dessus est aussi appelé le premier plan.

Pour pouvoir gérer ces 2 plans sans ambiguïté, il est préférable de prévoir deux calques différents, chaque objet ayant son propre calque. Ainsi, il est possible à partir du menu "calque" de gérer le positionnement de l'objet :

  • calque au premier plan
  • calque à l'arrière plan.

Avant d'appliquer l'opération booléennes, il faut sélectionné les deux objet à l'aide d'une fenêtre.

Choix des couleurs

Le codage RVB est donné par le tableau de codes de couleurs.

Les couleurs complémentaires sont un bon choix pour augmenter la lisibilité des dessins.

Le codage des principales couleurs utilisées dans le cadre de ce projet sont données par le fichier Couleurs_a.ods.

Routage d'un transistor sous kicad

Sous Eschema à l'emplacement du transistor :

  • faire un clic droit, une fenêtre s'ouvre, choisir Properties, puis Edit properties, la fenêtre suivante s'ouvre :
transistor

Dans l'encadré "Aspect", choisir : "Miror around X axis".

Cette opération permet de permuter la position de l'emetteur et du collecteur.

N.B. :

  • l'option "default" permet de câbler le transistor sur le F.CU
  • l'option "Mirror around X axis" permet de câbler le transistor sur le B.CU.

Manage Symbol Libraries sous kicad

La gestion des librairies de symboles est effectuée à partir du fichier sym-lib-table. Dans ce fichier chaque librairie est renseignée par une une instruction :

  • (lib (name e-p-wifi-shield-lf(type Legacy)(uri ${KIPRJMOD}/e-p-wifi-shield-lf.lib)(options "")(descr "")

Les deux champs essentiels sont le nom (name) et l'uri qui donne l'"Environnement Variable Substitution" (chemin pour accéder à la librairie suivi du nom du fichier .lib. Ce fichier est généré :

  • par le menu préférence/Manage Library Tables

Générer un plan de perçage sous kicad

Il faut éviter de générer un plan de perçage au format .pdf car l'échelle du plan n'est pas respectée. Pour contourner ce problème, il convient de générer au préalable un fichier .dxf puis sous Librecad générer un fichier .pdf. J'ai poster une requête sur le forum kicad, les FAQ conseille d'utiliser la commande pdftk mais je n'ai pas réussi à l'utiliser correctement.

Les captures d'écran

On peut réaliser des captures dans le presse papier (le fichier .png est disponible dans le dossier Images), les touches à utiliser sont :

  • impr-écr : copie de l'écran entier
  • alt+impr-écr : copie de la fenêtre active
  • maj+impr : initie une capture d'une zone rectangulaire à tracer.

Pour plus de détails utiliser le lien capture d'écran.

Raccourcis clavier personnalisés

Pour créer vos propres raccourcis clavier :

  • cliquer sur l'icône "boîte à outil" qui lance l'application Paramètres
  • choisir : Périphériques - Clavier - Raccourcis clavier
  • se déplacer dans la liste des raccourcis (vers le bas) jusqu'à atteindre le signe +
  • cliquer sur le +
  • une fenêtre s'ouvre, remplir les champs : Nom, Commande, Raccourci
  • cliquer sur ajouter.

Edition des étiquettes

L'édition des étiquettes est réalisée :

  • dans le cas d'étiquettes de la marque agipa, il convient de télécharger le modèle sur le site https://www.apli.fr/ et ensuite ouvrir le modèle, par exemple ~/Téléchargements/wp_101242.doc dans Libreoffice writer, saisir les contenus des étiquettes puis les imprimer.
  • à l'aide du logiciel glabel-3.

A titre d'exemple, les étiquettes des boîtes "projet" du magasin sont traitées selon la procédure :

  • mise à jour du fichier liste-des-cartons.ods
  • génération d'un fichier liste-des-cartons.scv - UNICODE (UTF-3) - Séparateur de champ ,
  • édition des étiquettes avec glabels-3 :
    • Objets
    • Propriétés fusion
    • Format fichier CSV - Champs séparés par des virgules
    • Sélectionnées les étiquettes à imprimer
    • Imprimer les étiquettes.

Logiciel de téléassistance et réunions en ligne

Team Viewer

Iphone 5

Voir le paragraphe "matériel" pour les généralités.

En date du 08 décembre 2018, pour communiquer avec les ordinateurs qui fonctionne sous Ubuntu, l'Iphone 5 nécessite :

  • une version d'Ubuntu limitée à la 16.04 LTS ainsi que l'installation de 2 logiciels :
  • libimobiledevice : a library to communicate with services of Apple iOS devices using native

protocols.

  • ifuse : a fuse filesystem implementation to access the contents of iOS devices.

N.B. : Filesystem in UserSpacE (FUSE)

Ils convient de les installer selon la procédure d'installation

Le lancement de la commande idevicepair pair donne :

leruste@leruste-System-Product-Name:~$ idevicepair pair

SUCCESS: Paired with device 68e0a6f5d8bef2d62e1a91c949a49e6d26338fd6

Par contre, le lancement de la commande ifuse donne l'erreur suivante :

  • ~ ifuse /media/leruste/ipod
  • GnuTLS error: Error in the pull function. - Failed to connect to lockdownd service on the device

Cette erreur nous amène sur Github :

Build with OpenSSL instead of GnuTLS. GnuTLS does not work with iOS10 devices. The package maintainer in Ubuntu built libimobiledevice with --disable-openssl option forcing GnuTLS. See the last comment in this issue for my solution.

Traduction : Construire avec OpenSSL au lieu de GnuTLS. GnuTLS ne fonctionne pas avec les appareils iOS10. Le responsable du paquet dans Ubuntu construit libimobiledevice avec l’option--disable-openssl option forçant GnuTLS. Voir le dernier commentaire à ce sujet pour ma solution.

Pour découvrir qu'il est préférable de dé-installer avec la commande :

  • sudo apt-get remove libimobiledevice6

Beaucoup de baratin et finalement :

Extrait de la procédure :

To compile run:

  • ./autogen.sh (By default, OpenSSL will be used.)
  • make
  • sudo make install

Sur l'ordinateur portable LDLC, j'ai déroulé cette seconde procédure d'installation qui consiste à recompiler à partir des sources en respectant à la lettre le paragraphe "requirements".

Le résultat est rigoureusement le même :

  • idevicepair pair OK
  • airel@airel-W230SD:~$ sudo ifuse /media/airel/iphone

GnuTLS error: Error in the pull function.

Failed to connect to lockdownd service on the device.

Try again. If it still fails try rebooting your device.

En conclusion, la différence fondamentale entre les 2 procédures d'installation est au niveau de l'option prise lors de l'exécution du fichier bash autogen.sh, elle est :

  • --disable-openssl pour la première installation
  • sans option pour la seconde installation qui correspond à : By default, OpenSSL will be used.

Pour cette seconde installation il s'agit bien de GnuTLS error, ce qui semble prouver que l'option par défaut n'a pas été prise en compte.

N.B. : 1) pour plus de détails voir le fichier README.

2) la compilation de libimobiledevice et ifuse est incomplète, il convient de la vérifier et si besoin de la consolider.

Erreur :

Making check in tools

make[1] : on entre dans le répertoire « /home/airel/libimobiledevice/tools »

 CCLD     idevice_id

../src/.libs/libimobiledevice.so: undefined reference to `usbmuxd_save_pair_record_with_device_id'

collect2: error: ld returned 1 exit status

Makefile:653 : la recette pour la cible « idevice_id » a échouée

Interprétation :

ld returned 1 exit status :

  • ld - The GNU linker
  • ld combines a number of object and archive files, relocates their data and ties up symbol references. Usually the last step in compiling a program is to run ld.

Le programme cherche à connaître le idevice_id pour le mémoriser dans la variable usbmuxd_save_pair_record_with_device_id et n'y parvient pas.

le idevice_id est à priori 68e0a6f5d8bef2d62e1a91c949a49e6d26338fd6.

J'identifie le fichier libimobiledevice.so :

airel@airel-W230SD:~/libimobiledevice$ ls -l src/.libs/libimobiledevice.so

lrwxrwxrwx 1 root root 25 déc. 30 16:58 src/.libs/libimobiledevice.so -> libimobiledevice.so.6.0.0

La commande "ls" ci-dessus montre que le fichier est bien identifié et qu'il est redirigé vers un fichier exécutable du même nom + .6.0.0.

La ligne 653 du fichier Makefile est :

  • @rm -f idevice_id$(EXEEXT)

la variable usbmuxd_save_pair_record_with_device_id est pour le moment introuvable.

(Re)compiler un logiciel des dépôts

C'est dans certains cas un passage obligé, en particulier pour installer les logiciels nécessaires à la communication avec l'Iphone.

Pour avoir une idée de la procédure à suivre, suivre le tutoriel compilation.

La définition du compilateur est donné par Wkipédia. En quelque mots, un compilateur est un programme qui transforme un code source écrit dans un langage de programmation (le langage source) en un autre langage informatique (appelé langage cible).

Pour créer ce langage cible, un système d'Autotools est utilisé. Ce système Autotools (ou GNU build system) est un terme général utilisé par la communauté anglo-saxonne pour désigner l'ensemble des outils de build du projet GNU. Voir l'organigramme général à l'aide du même lien Autotools.

Make est un logiciel qui construit automatiquement des fichiers, souvent exécutables, ou des bibliothèques à partir d'éléments de base tels que du code source. Il utilise des fichiers appelés makefile qui spécifient comment construire les fichiers cibles. Make cherche dans le répertoire courant le makefile à utiliser. Par exemple, le make de GNU cherche dans l'ordre, un fichier GNUmakefile, makefile, Makefile, puis exécute les cibles spécifiées (ou par défaut) pour ce fichier uniquement.

Sur un dépot comme Github, le paquet libimobiledevice comprend au niveau du répertoire principal un fichier Makefile.am, à l'aide du Make, ce fichier permet de contruire les 2 fichiers suivants :

  • Makefile.in
  • Makefile.

La documentation Ubuntu explique la méthode pour (Re)compiler un logiciel des dépôts.

Maintenance

Ventilation de l'ordinateur

Computer cooling

Heat sink (Dissipateur de chaleur)

Ventilation de l'ordinateur

Thermal past

Thermal grease

conrad

Pour faciliter le dépoussiérage du dissipateur de chaleur monté sur le CPU, Olivier l'a démonté, puis a rencontré quelques difficultés lors du remontage. Ne disposant pas dans l'immédiat de pâte thermique, la pâte résiduelle a été nettoyée mais n'a pas été remplacée. Les 4 "vis" de fixation en matière plastique s'avèrent délicates lors du remontage. Le serrage des 3 premières s'effectuent relativement facilement, celui de la quatrième est beaucoup plus difficile.

Voir le "user guide de la P5Q motherboard".

La préconisation est le serrage simultané de 2 vis diamétralement opposé.

Si le serrage des 4 "vis" n'est pas correct, lors du démarrage de l'ordinateur, après 1 minute, la température du CPU passe de la température ambiante à environ 90°C.

Remplacement de la batterie de la carte mère

Sur la carte mère, cette batterie "Lithium cell CMOS power" est localisée à coté des connecteurs SATA.

Le remplacement de la batterie de la carte mère.

Synchronisation des 2 ordinateurs

Les Virus et arnaques

How to reset Internet Browsers to their default settings?

En résumé, dans le menu de firefox :

  • ? aide - Information de dépannage - réparer firefox - confirmer réparer firefox.

Les sauvegardes et les restaurations

Généralités

sauvegarde informatique (wikipédia.fr) sauvegarde (wiki Ubuntu.fr)

Pour organiser les sauvegardes

Les fichiers qui résident sur les disques durs d'un ordinateur sont la résultante de :

  • l'installation et des mises à jour :
    • du système d'exploitation
    • des logiciels applicatifs
  • des données générées :
    • par l'utilisateur
    • par les logiciels applicatifs.

Dans l'hypothèse d'un crash informatique (plantage) qui nécessite une nouvelle installation partielle ou totale, il faut que la politique de maintenance mise en place soit à même de parer toute situation.

Parmi les fichiers cités ci-dessus, il faut donc bien différencier ceux que l'ont peux retrouver facilement (système d'exploitation, logiciels d'application) de ceux qui contiennent des données générées.

Ces données générées sont regroupées dans le répertoire de l'utilisateur sous le répertoire /home qu'il convient de sauvegarder en totalité.

Dans notre cas :

  • le répertoire de l'utilisateur à sauvegarder est :
    • /home/leruste pour l'ordinateur ASUS
    • /home/airel pour l'ordinateur COMPAQ
  • j'ai ajouté sur les 2 ordinateurs un répertoire /home/deja-dup (emplacement de stockage).

N.B. :

  • des logiciels comme Thunderbird crée sous le répertoire de l'utilisateur un répertoire dont le nom est précédé d'un point, .thunderbird dans notre cas. D'autres exemples : .adobe - .dbus - .dropbox - .gconf - .gitconfig. Attention : ces répertoires sont nombreux, il faut donc s'assurer qu'ils sont correctement sauvegardés.
  • l'emplacement de stockage (/home/deja-dup) doit être séparé de celui des données générées, idéalement sur un disque dur séparé.

Déja-dup

Les sauvegardes et les restaurations sont effectuées à l'aide du logiciel déjà dup. Il utilise duplicity. Duplicity sauvegarde les répertoires en produisant des volumes au format tar chiffrés et en les téléchargeant sur un serveur de fichiers local ou distant. Du fait que duplicity utilise la librarie librsync, les archives incrémentielles utilisent peu d'espace et enregistrent uniquement les parties des fichiers qui ont été modifiées depuis la dernière sauvegarde.

Déjà dup peux être lancé :

  • en mode graphique en cliquant sur l'icone du lanceur
  • en ligne de commande en tapant dans une console deja-dup

Dès la première sauvegarde un ensemble de fichiers est crée :

  • un fichier texte "manifest" par exemple : duplicity-full.20190313T105946Z.manifest. Ce fichier décrit l'organisation en 76 volumes. Le volume 2 est donné à titre d'exemple ci-dessous :
    • Volume 2:
   StartingPath   home/airel/.dropbox-dist/dropbox-lnx.x86_64-67.4.83/libicuuc.so.42 12
   EndingPath     home/airel/.mozilla/firefox/40wou9i0.default/storage/default/about+newtab            /idb/3312185054sbndi_pspte.files/6 38
   Hash SHA1 d6a6306d21b48ac90b3575d8ccb8e0b070d2d900
  • un fichier compressé par volume, soit 76 fichiers de type ".difftar.gz", exemple :

duplicity-full.20190313T105946Z.vol2.difftar.gz

  • un fichier unique de type ".sigtar.gz", exemple :

duplicity-full-signatures.20190313T105946Z.sigtar.gz

La sauvegarde est journalière et automatisée.

La restauration de l'intégralité des fichiers est simple mais peut par contre être longue.

La restauration d'un seul fichier est plus délicate car le fichier de sauvegarde est compressé. Par exemple :

duplicity-new-signatures.20170416T090035Z.to.20170418T091639Z.sigtar.gz

Ce fichier .gz

Avec la commande gunzip (compress or expand files) on obtient le fichier :

duplicity-new-signatures.20170416T090035Z.to.20170418T091639Z.sigtar

Avec la commande tar (stores and extracts files from a tape or disk archive), en fonction des attributs utilisés, on obtient :

  • la liste des fichiers contenus dans l'archive avec -tf
  • la restauration d'un ou plusieurs fichier avec -xf et le nom du répertoire ou du fichier après le nom de l'archive .sigtar

Attention : cette restauration se fait avec toute l'arborescence sous un répertoire nommé "signature".

Pour paramétrer deja-dup :

Menu du logiciel de sauvegarde deja-dup

Selon le menu ci-dessus :

  • Vue d'ensemble : restaurer ou démarrer une sauvegarde
  • Dossier à enregistrer : /home/leruste ou /home/airel
  • Dossier à ignorer : exemple Téléchargements
  • Emplacement de stockage : /home/deja-dup
  • Planification - Exemple : sauvegarde automatique, chaque jour, conserver au moins 6 mois.

Thunderbird (sauvegarde du profile)

Thunderbird saves personal information such as messages, passwords and user preferences in a set of files called a "profile", which is stored in a separate location from the Thunderbird program files. Pour plus de détail, cliquez sur le lien profile.

Pour l'ordinateur ASUS, le profile correspond à un ensemble de fichiers stockés dans le répertoire :

.thunderbird/9nl8338i.default

Pour sauvegarder ce profile, il suffit de sauvegarder le contenu du répertoire, par exemple sur une clé USB à partir d'une commande :

cp -v .thunderbird/9nl8338i.default/* /media/leruste/SAUVEGARDE1/profile_thunderbird

Paquets installés

Sauvegarde et restauration de la liste des paquets installés pour restauration, duplication ou migration

Site web

Le site web fait l'objet d'un projet séparé