Si certains parmis vous aimerais se rendre utile pour une bonne cause, je vous propose de collaborer sur un projet associatif d'utilité sociale.
Je travaille dans un Fablab pédagogique, "Les Fabriques du Ponant" à Brest(france), et j'ai un petit projet qui me tiens à coeur :
Tout les ordis que je met à disposition du public son sous Linux Mint, question de principe et d'accessibilité financière (public dans la fracture numérique et/ou éloignés de l'emploi). Tout nos projets sont menés autant que possible sous des licences libres. Une association partenaire distribue au familles à faible revenu des ordinateurs sous Linux Mint à prix très réduit, donc il sdoivent pouvoir apprendre et tester gratuitement.
Il y a un parc machine diversifié (nous sommes une asso et les ordis sont souvent issus de dons) et j'ai des ordis sous Mint 18.3 et d'autres sous Mint 19.
J'ai commencé à écrire un script pour configurer les ordis qu'ils soient prêts à fonctionner dans notre fablab avec les outils qu'il faut, cela me permet de réinstaller sans y passer des heures, mais j'ai des bugs et je suis pas très calé en prog, je vous met le script ci dessous :
Contenu du fichier "install.sh":
Code : Tout sélectionner
#!/bin/bash
#Elevation des privilèges
if [ $(id -u) != 0 ]; then
echo "Privilèges root nécessaires pour démarrer l'installation !"
fi
if [ "root" != "$USER" ]; then
sudo su -c "$0" root
exit
fi
printf " Détection de votre architecture système...\n"
osArchi=$(uname -m)
printf " Votre système est un $osArchi !\n"
#Notification user local
printf " Note : ces programmes seront installés pour l'utilisateur courant uniquement !\n"
printf " Connexion à internet nécessaire !\n"
read -p " Etes vous sûr? O pour Oui ou N pour Non :" -n 1 -r
echo
if [[ ! $REPLY =~ ^[Oo]$ ]]
then
exit 1
fi
#Mise à jour système
printf " Note2 : une mise à jour du systeme est préférable\n"
read -p " Souhaitez vous la faire? O pour Oui ou N pour Non :" -n 1 -r
echo
if [[ ! $REPLY =~ ^[Nn]$ ]]
then
printf " Mise à jour du système...\n"
sudo apt-get -qq update && sudo apt-get -qq upgrade && sudo apt-get -qq update && sudo apt-get -qq upgrade && sudo apt-get autoremove
fi
# notifications
printf " Détection de votre architecture système\n"
osArchi=$(uname -m)
printf " Votre système est un $osArchi !\n"
printf " Lancement installation pour $osArchi...\n"
#copie des fichiers et dossier arduino
locateDir=$(pwd)
printf " Copie des fichiers vers répertoire opt...\n"
cp "$locateDir"/{Scratch-458.0.1.air,googlesketchupwfr.exe} /opt && printf " Copie effectuée avec succès !\n"
#Installation de adobe air en fonction du type d'architecture du linux 32 ou 64 bits
printf " Installation de Adobe Air pour Linux $osArchi...\n"
if [ "$osArchi" = "amd64" ] || [ "$osArchi" = "x86_64" ]
then
wget -O /opt/adobe-air_amd64.deb http://drive.noobslab.com/data/apps/AdobeAir/adobeair_2.6.0.2_amd64.deb && dpkg -i /opt/adobe-air_amd64.deb && apt-get install -f && rm /opt/adobe-air_amd64.deb
else
wget -O /opt/adobe-air_i386.deb http://drive.noobslab.com/data/apps/AdobeAir/adobeair_2.6.0.2_i386.deb && dpkg -i /opt/adobe-air_i386.deb && apt-get install -f && rm /opt/adobe-air_i386.deb
fi
#Installation Scratch:
#Creation d'un lien symbolique pour l'intaller AdobeAir
printf " Création d'un lien virtuel pour Adobe Air \"airinstall\"...\n"
ln -s "/opt/Adobe AIR/Versions/1.0/Adobe AIR Application Installer" /usr/sbin/airinstall
#Lancement de l'intallation en mode silencieux
printf " Installation de Scratch 2 pour Linux...\n"
airinstall -silent /opt/Scratch-458.0.1.air && printf " Installation de Scratch 2 faite !\n"
#Enregistrement des ppa
printf " Enregistrement des dépôts supplémentaires (ppa)...\n"
add-apt-repository ppa:librecad-dev/librecad-daily -y && add-apt-repository ppa:freecad-maintainers/freecad-daily -y && add-apt-repository ppa:scribus/ppa -y && add-apt-repository ppa:inkscape.dev/stable -y && add-apt-repository ppa:stephane.magnenat/xenial -y && add-apt-repository ppa:webupd8team/brackets -y && printf " Configuration des ppa faite !\n"
#Installation des logiciels
printf " Installation des logiciels correspondant aux ppa...\n"
apt-get -qq update && apt-get -qq install librecad freecad scribus-ng inkscape aseba playonlinux krita gedit geany brackets -y && printf " Installation des logiciels faite !\n"
#Ajout de user au groupe dialout pour ouverture des ports pour arduino
printf " Ajout de user au groupe dialout pour ouverture des ports pour arduino...\n"
adduser $USER dialout && printf " Ajout réussi !\n"
#Installation Arduino
printf " Extraction des archives et Installation IDE Arduino pour Linux $osArchi...\n"
if [ "$osArchi" = "amd64" ] || [ "$osArchi" = "x86_64" ]
then
tar xpf "$locateDir"/arduino-1.8.5-linux64.tar.xz -C /opt/ && printf " Extraction effectuée avec succès !\n" && printf " Lancement installation IDE Arduino...\n" && sudo bash /opt/arduino-1.8.5/install.sh
else
tar xpf "$locateDir"/arduino-1.8.5-linux32.tar.xz -C /opt/ && printf " Extraction effectuée avec succès !\n" && printf " Lancement installation IDE Arduino...\n" && sudo bash /opt/arduino-1.8.5/install.sh
fi
#Installation de Ultimaker Cura
printf " Extraction des archives et Installation Ultimaker Cura pour Linux...\n"
tar xpf "$locateDir"/UltimakerCura.tar.xz -C /opt/ && printf " Extraction effectuée avec succès !\n" #Extraction archive dans opt
chmod 775 /opt/UltimakerCura/Cura-3.4.0.AppImage && printf " Permission d'execution accordée avec succès !\n" #autorisation d'execution de appimage
desktopPath=$(echo ~/Desktop) && cp /opt/UltimakerCura/Cura.desktop "$desktopPath" && desktopPath=$(echo ~/Bureau) && cp /opt/UltimakerCura/Cura.desktop "$desktopPath" #copie du raccourci sur les bureaux
printf " That's all folks !\n"