Pense Bête du Geek

Mise à jour / Installation de composer

BUT : Installation ou mise à jour de la commande composer

composer est un gestionnaire de dépendance pour les projets php. Il permet de gérer les modules/paquets à installer ou à mettre à jour pour vos projets (exemple laravel, etc).
Sous ubuntu l’installation via apt installe la version 1.x de composer et non pas la version 2.x
Voici un petit script qui va installer (ou mettre à jour) composer :

nano update-composer
#!/bin/bash
#
#    Installation ou Mise à Jour de composer
#

# relance automatiquement ce script en mode root si user standard
[ ! $UID -eq 0 ] && echo "Lancement en mode ROOT" && sudo $0 "$@" && exit

echo "Installation de 'composer' v2"

# récupération de la version de composer (0 si non installé)
[ ! "$(command -v composer)" ] && COMPOSER_VERSION=0 || COMPOSER_VERSION=$(composer -V | sed -e "s/version //g" | cut -d " " -f 2 | cut -d "." -f 1)

if [ $COMPOSER_VERSION -eq 2 ]
then
  # version 2
  echo "composer v2 : pas de mise à jour"
else
  # version 1 ou non installée
  [ $COMPOSER_VERSION -eq 1 ] && [ -f /usr/bin/composer ] && echo "composer v1 : mise à jour" && mv /usr/bin/composer /usr/bin/composer-v1
  # récupération checksum du dernier script
  EXPECTED_CHECKSUM="$(php -r 'copy("https://composer.github.io/installer.sig", "php://stdout");')"
  php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
  ACTUAL_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"
  if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ]
  then
    >&2 echo "ERROR: la checksum de l'installateur est invalide"
    rm composer-setup.php
    exit 1
  fi
  echo "composer v2 : installation"
  php composer-setup.php --quiet
  RESULT=$?
  rm composer-setup.php
  [ $RESULT -eq 0 ] && echo "composer v2 : installée"
fi

Enregistrez le fichier avec CTRL + O (la touche o pas zéro)

Sortir de l’éditeur nano avec CTRL + X

Rendre exécutable le script :

chmod +x update-composer

Puis lancer le script :

./update-composer
Lancement en mode ROOT
[sudo] password for bzg: 
Installation de 'composer' v2
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]? yes

Si composer existe déjà il va dire qu’il ne faut pas le lancer en mode root, répondre ‘yes’ car composer n’est utilisé ici que pour connaitre sa version

composer sera soit installé ou mis à jour si besoin avec ce script que vous pourrez installer sur tous vos serveurs utilisant laravel, symphony ou tout autre projet utilisant composer

Codes téléphoniques utiles

BUT : Obtenir des informations ou paramétrer son téléphone mobile

Tout opérateur : 3179

ce n’est pas vraiment un code mais cet appel permet d’obtenir le code RIO indispensable pour transférer son numéro de téléphone d’un opérateur chez un autre

Transfert d’appel sur ligne occupée

Si votre ligne est déjà occupée, transfert l’appel vers un autre numéro fixe ou mobile afin que vous ne perdiez pas vos appels multiples

Activation : *69* numéro de renvoi d’appels, puis #
Vérification : #69#
Désactivation : *#69#

Transfert d’appel inconditionnel

Renvoi d’appel quelque soit les conditions

Activation : *21* numéro de renvoi d’appels, puis #
Vérification : #21#
Déactivation : *#21#

Transfert d’appel sur non réponse

Au lieu de renvoyer vers le répondeur, sur non réponse l’appel est transféré vers un autre numéro

Activation : *61* numéro de renvoi d’appels, puis #
Vérification : #61#
Déactivation : *#61#

Transfert des appels anonymes

Pratique pour renvoyer vers un répondeur par exemple

Activation : *82* numéro de renvoi d’appels, puis #
Vérification : #82#
Déactivation : *#82#

Tous téléphones sauf iPhone : Trouver le(s) code(s) IMEI

Le code IMEI est un numéro unique identifiant un téléphone (un par ligne téphonique). Si vous avez deux téléphone acceptant deux puces SIM vous aurez deux code IMEI. C’est en quelque sorte un numéro de série de la puce d’appel (par du téléphone qui lui a son propre numéro de série).

Saisir : *#06#

Masquer son numéro d’appel de façon ponctuelle

Par défaut votre numéro d’appel s’affiche sur le téléphone de votre interlocuteur. Si vous ne voulez pas changer dans les paramètres le non affichage de votre numéro et que vous voulez appeler ponctuelle de manière anonyme depuis votre téléphone portable il suffit de faire précéder le numéro à appeler par : #31#
N’hésitez pas à tester cette manipulation sur un numéro que vous posséder afin de vous assurer que votre téléphone accepte ce code

Saisir : #31# numéro à appeler

Changement code PIN

modification du code PIN dans les menus ? Une autre méthode existe : simple, rapide et qui fonctionne à l’identique sur tous les téléphones.

Saisir : **04*ancien code PIN*nouveau code PIN*nouveau code PIN#.

Exemple : votre code PIN est 0000 et vous voulez le remplacer par 1234.
Saisir : **04*0000*1234*1234#

RustDesk : Télétravail ou assistance à distance

BUT : Utiliser un outil de prise de contrôle à distance pour travailler sur un ordinateur distant

Au commencement il y avait VNC :

Très vite la démocratisation des ordinateurs a nécessité la prise de contrôle à distance, et les premiers outils tels que VNC ont permit de voir l’écran d’un ordinateur distant et de le contrôler via son propre clavier et sa souris. Au début des années 90, j’avais écris un petit programme sous MS-DOS qui permettait de prendre la main sur un ordinateur en mode texte avec un simple modem (ok, juste un écran de 80 caractères sur 25 lignes). Mais très vite la difficulté fut de traverser les « firewalls » et les « box internet ». Alors qu’une connexion par modem met en liaison deux ordinateurs entres eux et donc il n’y a pas de souci pour savoir qui communique avec qui, dans le cas d’un ordinateur dans un réseau d’entreprise ou derrière une box internet seul l’adresse public est vu de l’extérieur et donc sauf à paramétrer de manière très complexe le routeur ou la box, cela devenait impossible d’avoir un accès simple à une machine. Une troisième machine (le proxy) fut intégrée dans la solution. Ainsi l’ordinateur assisté se connecte à ce proxy et attend que l’ordinateur d’assistance se connecte lui même au même proxy afin que la connexion soit établie entre les deux ordinateurs au travers de ce proxy). Un logiciel se démocratisa assez rapidement il y a quelques années avec une solution gratuite pour des utilisations personnelles : TeamViewer. Puis d’autres comme AnyDesk, etc. Mais avec le temps et le succès, ces solutions sont devenues de plus en plus bridée pour la partie gratuite (quand elle n’a pas disparue) jusqu’à devenir inutilisable pour certaine tâche.

Remplacer TeamViewer et/ou AnyDesk :

Parmi les nombreuses solutions de télémaintenance gratuites, très peu de solutions simples existent. Paramétrages hors de portée d’un néophyte en détresse (comme vnc et son paramétrage du routeur). Configuration d’un serveur dédié (le fameux proxy comme sur mesh central). Ou alors une politique un peu opaque (comme DWservice qui est une solution fermée). C’est alors que la solution RustDesk semble répondre à toutes les attentes pour ce genre de logiciel (https://rustdesk.com).

Open-source : RustDesk est un logiciel open-source, ce qui signifie que le code source est disponible pour tout le monde. Cela garantit une transparence et une sécurité accrues, car les développeurs peuvent examiner le code pour détecter les vulnérabilités et les corriger.

Prix : Gratuit (oui, entièrement gratuit, et il le restera puisque les codes sources sont disponibles). RustDesk est totalement gratuit et ne nécessite pas de frais d’abonnement. Cela le rend accessible à tous les utilisateurs, en particulier pour les petites entreprises et les organisations à but non lucratif.

Plateformes : Windows, Mac, Linux, iOS, Android

Facile à installer : RustDesk est facile à installer et à configurer. Il ne nécessite pas de connaissances techniques avancées pour être installé, ce qui le rend accessible à tous les utilisateurs.

Haute sécurité : RustDesk utilise le chiffrement TLS pour garantir la sécurité des connexions. Il est également compatible avec les pare-feux et les routeurs NAT, ce qui permet une configuration de sécurité supplémentaire.

Performance : RustDesk est rapide et réactif, ce qui permet une expérience utilisateur fluide et agréable. Il utilise une technologie de compression pour réduire la bande passante nécessaire à la connexion.

Fonctionnalités : RustDesk offre des fonctionnalités de contrôle à distance similaires à celles de TeamViewer et AnyDesk. Les utilisateurs peuvent accéder à distance à l’ordinateur, transférer des fichiers, contrôler la souris et le clavier, et bien plus encore.

Installation :

  • Télécharger le logiciel sur le site rustdesk : https://rustdesk.com
  • Lancer le logiciel sur les deux ordinateurs a mettre en contact
  • Renseigner l’identifiant et le mot de passe de l’ordinateur à contrôler

Pour mes clients :

Télécharger :
La version Windows à l’adresse suivante : https://sos.grappe.info/download/WindowsAgentAIOInstall.ps1
La version Windows sans installation à l’adresse suivante : https://sos.grappe.info/download/rustdesk-host=sos.grappe.info,key=a0m9jkeRN7NeZifWe+4Kzhrz+sivll2uiEdsUUe+nm0=.exe
La version Linux à l’adresse suivante : https://sos.grappe.info/download/linuxclientinstallbzg.sh
Serveur relay : sos.grappe.info
Clé : a0m9jkeRN7NeZifWe+4Kzhrz+sivll2uiEdsUUe+nm0=

Mise à jour serveur Ubuntu

BUT : simplifier la mise à jour d’un serveur ubuntu

Vous en avez marre de faire des sudo apt update puis sudo apt upgrade à tour de bras ?
Simplifiez vous la vie avec ce petit script qui va vous permettre d’accélérer le processus.
Attention, ce script doit être lancé manuellement et non pas depuis un ‘cron’ (tache automatisée), car il utilise ‘apt upgrade’ qui ne doit pas être lancé ‘en aveugle’. En effet certaines mises à jour nécessitent une action de votre part, par exemple pour les fichiers de configuration qui sont modifiés par le gestionnaire de mise à jour, apt vous demande si vous voulez conserver votre fichier de configuration ou le remplacer par le nouveau.

Créons notre script avec l’éditeur nano :

nano update-os
#!/bin/bash
#
#    Mise à Jour OS
#

# Relance automatiquement ce script en mode root si user standard
  [ ! $UID -eq 0 ] && echo "Lancement en mode ROOT" && sudo $0 "$@" && exit

echo "Mise à jour du système d'exploitation"

# test si besoin de faire une mise à jour
if [ $(cat /var/lib/update-notifier/updates-available | grep -Ev '^$' | grep -E '^[0-9]' | cut -d ' ' -f 1 | head -n 1) -eq 0 ]
then
  echo "system à jour"
else
  apt update && sudo apt upgrade -y && sudo apt autoremove -y
fi

# test si besoin d'un reboot
if [ ! "$(/usr/lib/update-notifier/update-motd-reboot-required)" ]
then
  echo "pas besoin de reboot"
else
  echo "--- ATTENTION REBOOT ---"
  # option -f pour forcer le reboot si besoin
  [ "$1" = "-f" ] && reboot || echo "sudo reboot"
fi

Enregistrez le fichier avec CTRL + O (la touche o pas zéro)

Sortir de l’éditeur nano avec CTRL + X

Rendre exécutable le script :

chmod +x update-os

Lancez le script :

./update-os

S’il n’y a pas de mise à jour ni besoin de reboot voici ce qui s’affiche

Lancement en mode ROOT
[sudo] password for bzg:
Mise à jour du système d'exploitation
system à jour
pas besoin de reboot

Vous pouvez aussi lancer ce script directement avec le privilège ‘sudo’ :

sudo ./update-os
Mise à jour du système d'exploitation
system à jour
pas besoin de reboot

Si le système a besoin d’une mise à jour elle sera lancée automatiquement
Et s’il y a besoin d’un reboot le message suivant s’affichera :

Mise à jour du système d'exploitation
system à jour
--- ATTENTION REBOOT ---
sudo reboot

Lancez alors un sudo reboot
Pour simplifier la manipulation : triple cliquez sur la ligne où s’affiche ‘sudo reboot’ pour que la ligne entière apparaisse en surbrillance

Faite ensuite soit :

MAJ + INSER

soit :

MAJ + CTRL + V

dans les deux cas la ligne en surbrillance sera collée et donc lancera automatiquement le ‘sudo reboot’

Vous pouvez aussi lancer le script avec l’option -f pour forcer le reboot s’il est nécessaire, mais attention à ne pas forcer le mode reboot si vous avez un tache importante qui tourne déjà :

sudo ./update-os -f