dimanche 25 avril 2021

Après une mise à jour ou une nouvelle installation de MacOS

Bonjour à tous, 

j'ai remarqué après chaque mise à jour de mon système d'exploitation macOS que des paquets sont toujours cassés de sorte que certains programmes ne marchent pas. 
A chaque fois c'est la même galère et je me mets à fouiller internet pour savoir pourquoi ce paquet ne marche pas, pourquoi celui-ci est introuvable etc... 
Je me suis résolu mettre ici le nécessaire à faire pour être au top les prochaines fois. 

Pour ce qui est des nouvelles installations, il faut juste faire les configurations idoines pour être OK. Allons y: 
  • Variables d'environnement: Le PATH Dépuis Catalina, le shell par defaut sous macOS est zsh et par conséquent les fichiers lus par défaut sont .zshrc , .zprofile et .zsh_history (pour l'historique des commandes). Alors nos variables d'environnement seront à mettre dans .zprofile (pour l'utilisateur courrant) et .zshrc pour tous les utilisateurs. Pour y parvenir, la commande
export PATH=/chemin/repertoire/du/program/bin:$PATH ajoutera le programme concerné dans la variable globale $PATH. Mais celle-ci sera ignorée au redemarrage. Pour rendre cela persistant, il faut écrire cette commande dans le fichier .zprofile ou .zshrc .
 Exemple: 

On l'enregistre et on ferme.
Ainsi le SDK de Java sera disponible pour tous les programmes devant l'utilisé. Il en sera de même avec python, ... et les autres programme que nous avons installé manuellement talque sublime Text, Maven, npm ... :
    •     Sublime textexport PATH="/Applications/Sublime Text.app/Contents/SharedSupport/bin:$PATH"
    • Maven: export PATH=/opt/apache-maven-3.6.3/bin:$PATH
    • Python export PATH=/Users/xbemous/Library/Python/3.8/bin:$PATH
    • ...  
  • Xcode command line Tool: - Gestionnaire de paquet Homebrew:
Le constat c'est qu'après la mise à jour de l'Os, certains programmes ne marchent plus ou du moins ne sont pas retrouvés, notamment Python et si Homebrew est installé, certains des paquets installés par Homebrew sont cassés et donc nécessitent une mise à jour. Pour le savoir il faut faire tapez la commande 
  ~ % brew doctor

Please note that these warnings are just used to help the Homebrew maintainers

with debugging if you file an issue. If everything you use Homebrew for is

working fine: please don't worry or file an issue; just ignore this. Thanks!


Warning: Unknown support status


Warning: No developer tools installed.

Install the Command Line Tools:

  xcode-select --install 

Warning: Homebrew's "sbin" was not found in your PATH but you have installed

formulae that put executables in /usr/local/sbin.

Consider setting your PATH for example like so:

  echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.zshrc

 

 Le résultat indique bel et bien "Install the Command Line Tools". Et c'est le cas après chaque mise à jour du Système d'Exploitation. Le 3ème Warning indique que ne trouve pas le 'sbin' dans la variable d'environnement PATH et qu'il faut ajouter son chemin dans le PATH en tapant la commande echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.zshrc . Or sbin est bel et bien dans le PATH. Même si l'on exécute la commande, la question nous sera toujours posée. Pour résoudre ce problème, Il faut donc  toujour réinstaller Command Line Tools après chaque mise à jour du système d'exploitation. 

Pour ce faire, l'on devra taper la commande 

 ~ % xcode-select --install

 xcode-select: note: install requested for command line developer toolsxcode-select constat c'est qu'après la mise à jour de l'Os, certains programmes ne marchent plus ou du moins ne sont pas retro


On clique sur Install puis

 


Quelques minutes minutes plus tard l'installation est terminée.

Pour s'assurer que tout est ok, il faut vérifier la version de gcc installée avec gcc --version :

~ % gcc --version

Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1

Apple clang version 12.0.0 (clang-1200.0.32.29)

Target: x86_64-apple-darwin20.3.0

Thread model: posix

InstalledDir: /Library/Developer/CommandLineTools/usr/bin 

Notre paquet est bel et bien installé et la commande brew doctor n'indiquera plus d'erreur l'on pourra faire ~ % brew update puis ~ % brew upgrade  pour mettre à jour les paquets déjà installés avec  Homebrew .

Et le tour est joué.

En un mot, après une mise à jour (ou une nouvelle installation) de MacOS, il faut :
  • (ré)installer Developper Command Line Tools: xcode-select --install
  • Vérifier que rien n'est cassé dans Homebrew (s'il est installé): brew doctor
  • Mettre à jour Homebrew:  brew update && brew upgrade
J'espère que ça aidera plus d'un.

mardi 21 juillet 2020

Le VPN qu'est ce que c'est? Et surtout qu'est ce ce n'est pas?


Le VPN qu'est ce que c'est? Et surtout qu'est ce ce n'est pas?


Bonjour à tous,
L'on reçoit de plus en plus d'offre et de propositions relatives au VPN à tout bout de champs. Les offres promotionnelles sont légion par ces temps de COVID-19, Télé-travail, sécurisation des données etc.

A vrai dire on entend tout et son son contraire et surtout du n'importe quoi concernant les VPN. Alors qu'est ce que c'est qu'un VPN? Et qu'est ce que ce n'est pas. C'est ce que nous allons découvrir dans ces quelques lignes.

I- Qu'est ce qu'un VPN?

    1 - Définition:

VPN: Virtual Private Network (c'est en anglais lol) signifie Réseau Privé Virtuel et selon Wikipedia, un Réseau Brivé Virtuel (RPV) ou Réseau Virtuel Privé (RVP), plus communément abrégé en VPN (de l'anglais : Virtual Private Network), est un système permettant de créer un lien direct entre des ordinateurs distants, qui isole leurs échanges du reste du trafic se déroulant sur des réseaux de télécommunication publics.

On utilise notamment ce terme dans le télétravail, ainsi que dans le cadre de l'informatique en nuage ou cloud computing.

    2 - Fonctionnement:

Un réseau VPN pour fonctionner a besoin de deux groupes d'équipements.
  • D'un coté, nous avons le LAN de l'utilisateur qui est constitué d'un routeur, d'un ou plusieurs terminaux;
  • De l'autre coté, un serveur VPN d'un hébergeur ou non;
  • Et enfin un canal de communication.
Le client dispose d'un client VPN, qui se connecte au Serveur VPN via un tunnel de communication chiffré.


Le principe c'est que la communication entre les deux sites distants se fait à l'abris des regard indiscrets via le canal de communication chiffré.
En réalité, l'usager se connecte à internet à travers le serveur VPN distant. Autrement dit, le client envoie ses requêtes sur le serveur distant qui ensuite se charge d'aller sur internet récupérer les informations et renvoyer la réponse au client ayant fait la requête.
Ainsi l'adresse IP du client n'est pas connue sur internet; seule celle du serveur VPN est connue puisque c'est lui qui est sur internet.

    3 - Conséquences:

Plusieurs conséquences découlent de ce fonctionnement.

        a - Avantages:

Au nombre des avantages de la mise en place et de l'utilisation d'un VPN, nous avons entre autres:
  • Accès aux sites qui lui sont interdits depuis son pays d'origine (son adresse Ip d'origine);
  • Adresse de connexion déportée dans un autre endroit du globe de manière transparente;
  • Accès sécurisé entre les différents équipements de l'utilisateur;
  • Garantie une forme d'anonymat sur internet;
  • ...
        b - Inconvénients:

Au nombre des "inconvénients", l'on peut citer:
  • Possession de certaines connaissances techniques;
  • Mise en place de vitesse de connexion lente au chargement du fait de la mauvaise pratique des FAI; 
  • Nombre de serveurs de VPN restreint 
  • ...
    
    4 - Quelques prestataires:

Technologies en vogue ses dernières années, il foisonne une multitude de fournisseurs de VPN dont les plus illustres sont entre autres:

II -  Ce qu'un VPN n'est pas:


On entend beaucoup de choses de la part des fournisseurs de VPN, ventant les mérites de ceux-ci. Est ce des coups de pub? ou autre chose? analysons ensembles ce qu'il en est réellement.

    1 - Le VPN Garantie votre sécurité sur Internet:

Cette affirmation est en partie vraie. En effet, les VPN vous aident à booster votre sécurité sur internet car ils vous mettent à l'abris des pirates et des intrus qui tentent d’écouter ou d’obtenir les informations sensibles vous concernant, grâce au connexion chiffré. Votre ordinateur étant caché derrière des serveurs VPN, personne en principe n’est en mesure de s’immiscer dans votre connexion.

    2 - Le VPN Garantie votre anonymat sur internet:

Cette affirmation est également vraie, maiiiiiis pas que. Les fournisseurs VPN indiquent qu'ils ne gardent pas de logs de vos navigation sur internet, ce qui garantie l'anonymat de vos connexion. Mais la réalité en ait tout autre.
En principe, le VPN garantit un accès sécurisé aux services en ligne et nous met à l'abris des yeux indiscrets notamment Big-Brother, GAFAS ... et les hackers et autres malware. 

Dans la pratique, les fournisseurs de VPN sont le maillon faible de la chaine. Votre sécurité et votre anonymat sur internet dépend de ce qu'ils stockent sur leur serveur concernant votre activité sur internet car en cas de collaboration avec les gouvernements, ou en cas d'attaque de leur serveur, vos données se retrouvent sur internet. 

Des exemples de ce scénario se sont déjà produits. NordVPN s'est déjà fait hacker il y moins de 3 ans. Certains fournissent des données aux gouvernement de leur pays d'origine, notamment les services américains.

Dans cet article l'on apprend que Sept VPN (entendez fournisseurs de VPN) ont exposés les données personnelles de 20 000 000 de personnes via un serveur Elasticsearch non sécurisé.


Aussi, des analyses du trafique réseau permettent d'identifier les utilisateurs de VPN dans certains cas et conduisent à l'identification des utilisateurs.


Que retenir donc des VPN?

Les VPN permettent d'assurer en partie la sécurité et l'anonymat des internautes mais n'est pas une fin en soit. Il faut allier l'utilisation des VPN à d'autres techniques de sécurisation des données sur la toile. Il faudra maintenir nos anti-virus à jour, nos systèmes ainsi qu'un choix judicieux de notre fournisseur VPN. Et Pourquoi ne pas mettre en place son propre VPN avec openVPN, 
Certainement dans un prochain billet.


 
 

Que font les fichiers .fseventsd, .Trashes, .Spotlight-V100 et fichiers .DANS_Store et comment empêcher leur apparition sur les supports externes

Bonjour à tous,

Les utilisateurs de MacOS, qui utilisent également d'autres systèmes d'exploitations, voient généralement apparaitre un ensemble de fichiers sur leurs supports amovibles (Disque Dur Externe, clé USB, micro card ssd ...) dont ils ne sont pas responsables. Il s'agit des fichiers .fseventsd, .Trashes, .Spotlight-V100 et .DS_Store
Pourquoi sont-il présent? A quoi servent - ils? et comment empêcher leur apparition? Nous allons essayer ici de répondre à ces questions.

1- Pourquoi sont-il présent

MacOS dispose de plusieurs mécanismes efficaces lui rendant la gestion des fichiers aisée. Pour ce faire, il utilise certains pour assurer la gestion des sauvegarde, d'autres pour l'indexation des fichiers et d'autres encore pour la gestion de la "Corbeil". Ainsi nous avons:
  •  .fseventsd, pour la gestion des fichiers pour TimeMachine c'est à dire le système de sauvegarde sous MacOS
  • Spotlight-V100 et .DANS_Store, pour l'indexation des fichiers pour Spotlight, c'est à dire le moteur de recherche de MacOS, l'un des plus efficace d'ailleurs; 
  • .Trashes, pour la gestion de la Corbeille. 

2- A quoi servent-il?

Comme indiqué au point un .fseventsd, permet à TimeMachine d'indexer les fichiers à intégrer dans les éventuelles sauvegarde. Spotlight-V100 et .DANS_Store, quant à eux assurent l'indexation des fichiers pour SpotLight afin de rendre la Recherche rapide et efficace. ET enfin .Trashes, n'est rien d'autre que la corbeille (temporaire) sur chaque support amovible en vue de leur suppression.

 Ce qu'il y a c'est que ces fichiers sont invisibles pour la plupart du temps, sur MacOS biensur mais dès qu'on passent sur un autre OS avec les supports amovibles, on voit un foisonnement de ces fichiers dans chaque répertoire qu'on ouvre. Cela ne pose techniquement pas de problème dans la pratique mais c'est juste agaçant pour l'utilisateur. On ne s y retrouve pas si l'on y prend garde, d'où la question, comment s'en débarrasser? Ou tout simplement comment empêcher leur apparition?

3- Comment empêcher leur apparition?

Ces fichiers se suppriment tout naturellement comme on le ferait pour n'importe quel autre fichier. Ils réapparaîtront dès que le support sera utilisé sur MacOS puis un autre OS. Comment donc dire à macOS de ne pas les créer? Et bien il suffit créer un fichier caché à la racine du support amovible en lui donnant une permission particulière: 

/Volumes/votre_nom_volume/.metadata_never_index

Puis de lui donner la permission:

chmod 444 /Volumes/votre_nom_volume/.metadata_never_index
Et le tour est joué. MacOS n'inscrira plus de fichier de ce genre sur votre support amovible jusqu'à ce que vous reformatiez ce support. Alors vous devez reprendre les éléments ci-dessus.

Note: .Trashes lui existera toujours car il s'agit de la corbeille temporaire du support la la gestion des fichiers supprimés sur ces supports.

A bientôt!



 

samedi 13 juin 2020

GPL vs LGPL De quoi s'agit il?

Pendant mes balades sur la toile, je suis tombé sur des concepts qui, pour moi avaient besoin d'être éclairci. Il s'agit des concepts de logiciels libres, de licences GLP et LGPL. C'est ce que nous partageons avec vous dans cet article. J'espère que cela permettra à d'autre d'y voir plus claire. Commençons par le commencement, ou plutôt par le précurseur .

- Le Logiciel Libre, selon Richard Stallman:

Selon le fondateur de la Free SoftWare Fondation, le logiciel libre se définit par 4 libertés fondamentales:
- Liberté d'utiliser le programme comme bon vous semble (peu importe l'usage)
- Liberté d'étudier le programme sous toutes ses coutures
- Liberté de partager le programme avec qui et comme il le veut
- Liberté de partager ses modifications apportées au programme avec qui et comme on veut.
Si l'une quelconque de ces libertés n'est pas respecté par un programme, il s'agit d'un programme privateur. Ce n'est pas un logicel libre au sens (Stallman).

De cette définition découle la notion de Open Source (Code source ouvert). La reciproque n'est pas vrai. Ainsi GPL != Open Source.

Le respect de ces libertés retire au concepteur du programme tous les droits sur les copies. ceux ayant reçu une copie, peuvent en disposer comme ils le souhaitent, même en commercialisant le nouveau programme avec leur ajout biensur.

Remaque:
Il est important de savoir qu'un programme sous licence GPL, même vendu reste sous licence GPL. Ainsi un nouvel acquereur du logiciel GPL peut le vendre ou en faire ce qu'il veut, comme bon lui semble car il devra aussi être sous GPL.

De ce fait, la GPL dispose d'un caractère héréditaire: Un programme privateur, intgerant un programme ou module sous GPL devient automatiquement GPL. C'est le coeur du problème.

A l'inverse des copyright(c), l’auteur permet, dans le cadre du GPL, à tout le monde de diffuser, modifier et détourner son travail sans qu’un accord supplémentaire soit nécessaire ; la licence fait office d’autorisation. Il s'agit en fait du copyleft qui n'existe pas dans tous les pays sauf chez les anglo-saxon.

Une seconde variante de GPL appelée LGPL (https://www.gnu.org/copyleft/lesser.html) pour lesser GPL ou encore GPL amoindrie, qui permet aux logiciels privateurs d'utiliser des logiciel libre dans leur programme sans pour autant être libres.

Ainsi, la licence permet aux développeurs et aux entreprises d'utiliser et d' intégrer les logiciels publiés sous la LGPL dans leur propre programme (même propriétaire logiciel) sans être requis par les conditions d'une forte copyleft licence pour libérer le code source de leurs propres composants. La licence ne nécessite que le logiciel sous licence LGPL modifiable par les utilisateurs finaux via la disponibilité du code source.

Nous allons dans de prochains articles abordé les autres aspects du Logiciel Libre, notamment les autres versions et les évolutions de la GPL.

Liens utiles:
https://www.fsf.org
https://www.gnu.org/copyleft/lesser.html

vendredi 8 mai 2020

Utiliser votre Smartphone en WebCam avec EpocCam


Bonjour à tous,
Les SmartPhones avec le temps sont devenus de véritables labo-Photo qui peuvent
faire palire les professionnels de la photo.

En effet avec la miniaturisation des composants électroniques, les constructeurs ont pu intégrer dans
nos smartphones des appareils photo de très hautes résolutions de sorte à largué les appareils traditionnels à des années lumière.

Nos avons des appareil de 8MP à 40 MP et même plus. Samsung, l'un des leaders en la matière promet en faire d'avantage avec 150 MP. C'est dire à quel point les Mega-Pixels sont devenus un argument de vente.

Mais, mais, le grand mais concerne nos ordinateurs portables pour ceux qui ont des webCam; ils semblent restés au 19e voire 20è siècle. Tous les constructeurs sont logés à la même enseigne avec de médiocres WebCam.
Même apple avec ses récentes MBP, MBA, MP, iMac ... ne semble pas échapés à cette médiocrité au niveau des WebCam.

Avec la recrudescence des Visio-conférences, video-conférences pour le télétravail, dues à la pandémie à Coronavirus, force est de constater que le problème des WebCam se pose avec acuité.

Des solutions existent et simples à mettre en oeuvre:

Utiliser son smartphone pour en faire une WebCam. Et ouiiiiiii, des solutions toutes simples à mettre en oeuvre:
Il s'agit d'installer des utilitaires à même de nous y aider.


Pour ma part j'ai opté pour "EpocCam" un utilitaire qu'il faut installer aussi bien sur son Smartphone (Android ou iOs) et ensuite sur son ordinateur (MacOS ou Pc ou lapTop avec WebCam ou pas) puis connecter les deux appareils soit par câble, soit par wifi et le tour est joué.

 Vous pour télécharger épocCam sur: https://www.kinoni.com
vous y trouverez toutes les instructions utiles.

Bien à vous.

jeudi 20 février 2020

Le cycle de vie d'une Activity sous android



COMPRENDRE LE CYCLE DE VIE D’UNE ACTIVITE ANDROID


Le développement Android est basé sur un certain nombre de principes. Il convient de savoir ce qu’est une application Android, quelles sont ses composantes, Comment fonctionne-t-elle ?

Nous allons dans la suite utiliser indifféremment Activité et Activity. Ces deux mots désigneront la même chose dans la suite.

Une application Android est une application organisée sous forme de vues, et constitue un ensemble d’Activité ou « Activity ». L’on peut schématiser ou caricaturer une application Android par la description suivante :
  • (Au moins) une activité (Activity) principale
  • Une ou plusieurs activités secondaires
  • (Éventuellement) un ou plusieurs services
  •             ‘’              un ou plusieurs écouteurs d’évènements
  •             ‘’              un ou plusieurs éditeurs d’évènements
                                              1 - Alors qu’est-ce qu’une activité ?

Une Activité, au sens Android du terme est une interface graphique (XML) + un programme (Java, C# …). Une activité est la composante principale d'une application sous Android. L'activity est le métier de l'application et possède généralement une View (vue) au minimum, c'est-à-dire un écran graphique.


A côté des Activités nous avons les « Intents » (Nous y reviendront dans un prochain article) permettent de communiquer entre les différentes activités de notre application, mais aussi du téléphone.


Une Activity Android dispose d’un cycle de vie qui a pour but de rendre la gestion des ressources efficace. De ce fait, Android se réserve le droit de « tuer » une activité s’il n’y a pas suffisamment de ressources mémoire. Ainsi toute application ou activité Android se doit de respecter certaines règles inhérentes aux cycles de vie d’une activité mise en place par Google. D’où la nécessité pour les développeurs de connaitre le cycle de vie d’une activité au risque de voir son application marginalisée par le système.

                                               2 - Le cycle de vie d’une Activity ?

Sous Android, une activité passe par différents états induisant, entre chaque état, des appels de certaines méthodes bien spécifiques par le système, dans un ordre déterministe. Ces différentes étapes constituent donc le cycle de vie d’une activité Android.

Les différent(e)s étapes ou états par lesquels passent l’Activity sont au nombre de 7 :
  • onCreate()
  • onStart()
  • onResume() 
  • onPause()
  • onStop()
  • onRestart()
  • onDestroy()

Plusieurs représentations du cycle de vie d’une « Activity » Android existent. Ils ont tous le même sens. Nous allons en retenir deux pour illustrer nos propos : La représentation officielle selon Google et une autre représentation que j'ai bien aimé.


a) Le schéma officiel selon Google pour le projet Android :


Fig1. : Cycle de vie de l’activité (Activity) selon Google (https://developer.android.com/guide/components/activities/activity-lifecycle.html#alc) .

b) La représentation selon le site openclassrooms.com


Fig.2 : L’activité (Activity) dans tous ses états (https://openclassrooms.com/en/courses/4517166-developpez-votre-premiere-application-android/4586901-comprenez-le-cycle-de-vie-dune-activite)



Nous allons à présent définir le sens de chaque méthode indiquée dans les diagrammes susmentionnés.
  • onCreate() :
Cette méthode est appelée dès que notre Activity est créée par le système. Ainsi notre Activity entre dans l’état « Created ». C’est ici que sont chargés l’interface graphique, initialisation des variables … L’utilisateur n’y pas encore accès
  • onStart() :
Lorsque l’Activity est « Created », le système fait appelle à la méthode onStart() et met notre Activity dans l’état Started. Elle a donc démarré mais l’utilisateur ne peut pas encore interagir avec.
  • onResume() :
Après le démarrage de notre Activity (started), le système fait appel à la méthodes onResume() qui à son tour rend l’Activity entièrement opérationnelle. Elle est visible par l’utilisateur qui peut interagir avec les différents éléments graphiques. Cette Activity reste en l’état tant qu’elle n’est pas interrompue par une autre Activity (Notification, boite de Dialogue, appel entrant …). Dès notre application (Activity) passe à « Paused » et appelle onPause().
  • onPause() :
Une fois notre Activity est à « Paused », cette méthode est appelée. Tous les traitements de onResume() sont mis en pause c’est-à-dire par exemple, les connexions actives, les streaming encour, … Les traitements à effectuer ici doivent être le plus bref possible au risque de passer à onStop().
  • onStop() :
A la différence de la méthode onPause(), cette méthode est appelée quand notre Activity entre dans l’état « Stopped » et n’est plus visible par l’utilisateur. Les traitements qui s’y rattachent peuvent être arrêtés. C’est en général de cas de l’Activity appelante.
  • onRestart() :
Cette méthode permet de relancer l'activity en vue de lui passer la main et la mettre au premier plan.
  • onDestroy() :
La méthode onDestroy() est appelée dans deux cas :
    •  Soit le système décide de le faire lorsqu’il n’y a plus de ressources disponibles telle que « mémoire insuffisante », alors le système Kill ou Tue l’Activity ;
    • Soit l’utilisateur décide d’arrêter l’Activity en faisant appel la méthode finish().
L’autre alternative c’est que l’utilisateur relance l’application en faisant restarted avec onRestart().

Il ne nous reste plus que de la pratique… A la prochaine.

vendredi 3 janvier 2020

Meilleurs voeux 2020 à toutes et à tous

Nous venons de passer une année 2019 palpitante et voilà que 2020 démarre. C'est donc le lieu de souhaiter de bonnes fêtes à tout le monde.
"Après la Fête, La défaite!" comme on dit ici chez nous en Cote d'Ivoire. Mon souhait est que cette année 2020 ne soit pas du tout une année de DEFAITE pour qui que ce soit. Qu'elle soit plutôt une excellente et exceptionnelle année pour tous; une année pleine de bonheurs, de prospérité et de paix.
Paix en Côte d'Ivoire, paix chez vous et paix dans le monde entier.

Excellente année 2020.

lundi 18 novembre 2019

Raccourcis clavier sous MacOS

Bonjour à tous,
je suis passé sous macOS il y a de cela quelques jours et j'étais plutôt dérouté par toutes les gymnastiques à faire travailler convenablement, Habitudes Pc Oblige.  Très rapidement j'ai pris mes marques et c'est plutôt bluffant. Je suis un linux users sur Pc et je me retrouve un peu car l'environnement est quasi-similaire à gnome. Dans tous les cas un temps d'adaptation est nécéssaire.

Ce article vient vous y aider avec les raccourcis couramment utilisés sous mac. Après plusieurs jours et quelques recherches sur internet, je vous livre ici ce que j'ai pu obtenir:

  • Le Suppr sur un clavier portable est obtenu par Fn + Backspace ( Fnß )
  • Les accolades {} sont obtenus par ( et )
  • Les crochets [ ] sont obtenus par ( et )
  • Le pipe (|) est obtenu par L
  • L'antislash (\) est obtenu par /
  • Le tilde (  ̃) est obtenu par ou par   N espace
  • Le æ est obtenu par A
  • Le œ est obtenu par O
  • Le μ est obtenu par M
  • Le tiret long () est obtenu par   -
  • Le c cédille majuscule Ç est obtenu par ç
  • L'accent aigu (´) est obtenu par &
  • Les majuscules accentuées sont obtenues en utilisant le verrouillage majuscule () et les minuscules accentuées que sont à, é, è, ï...
  • Les points de suspension () sont obtenus avec ;
  • La manipulation des fenêtres se fait avec N (nouvelle), W (fermer), M (réduire).
Dans le Finder, ⌘⇣ et ⌘⇡ permettent respectivement d'activer un élément (rentrer dans un dossier ou ouvrir un fichier) ou de remonter d'un niveau. Attention, O a le même comportement que ⌘⇣ ( Commande-bas ) ;

Les touches Suppr, Fin, Début, PageUp et PageDown étant absentes des claviers de portables, on trouvera les raccourcis suivants dans les éditeurs de texte :

  • Fn-Backspace (Fnß) pour Supprimer
  • ⌘⇠ et ⌘⇢ pour aller respectivement en début et fin de ligne ( pour sélectionner)
  •   et   pour aller respectivement en début et fin de mot ( pour sélectionner)
  • ⌘⇡ et ⌘⇣ pour aller respectivement en début et fin de document ( pour sélectionner)
  • et pour naviguer entre les paragraphes ( pour sélectionner)
  • Fn et Fn pour naviguer entre les pages ( pour sélectionner)

La recherche , un autre point clef, ne fait pas appel à des touches exotiques comme F3:

  • F ouvre le dialogue de recherche ;
  • G cherche l'occurrence suivante, ⇧⌘G cherche l'occurrence précédente – E initialise la recherche avec la sélection courante ;

Le dictionnaire intégré́ à MacOs X est également très facile d'accès :

  •  Option-Echap ( ) ouvre le dictionnaire d'auto-complétion ;
  • Control-Commande-D (⌃⌘  D) donne la définition (anglaise) d'un mot pointé par la souris
La sélection mérite aussi d'être citée :

  • Sélection + Commande () : sélection discontinue (on peut sélectionner des portions de texte disjointes) courante ; c'est le même comportement que la sélection dis- continue sous le Finder ;
  • Sélection +  : sélection de texte verticale.
{MAJ:25/10/2017}

Voilà ici quelques autres raccourcis clavier:

  • Cmd + D permet de Dupliquer un document ou un fichier;
  • Cmd + C ou Cmd + V permettent respectivement de copiez et coller comme sous PC;
  • {MAJ:16/10/2018Alt + Cmd + V permet de déplacer le fichier qu'on a copier (Cmd+C) dans le Finder ( Ctrl + V sous PC); {Fin MAJ:16/10/2018
  • Cmd + Z permet d'annuler une manipulation;
  • Cmd + Maj + Z  permet d'annuler une annulation de manipulation, donc de rétablir une manipulation;
  • Cmd + A permet de tout sélectionner;
  • Cmd + S permet d'enregistrer ;
  • Cmd + F permet de faire une recherche dans une fenêtre;
  • Cmd + Alt + W ferme toutes les fenêtre ouverte;
  • Cmd + Suppr sert à Supprimer un dossier, un ficher (dans le Finder); 
  • Cmd + Option (Alt) + F permet d'Afficher en plein écran
  • la touche "Entrée" effectuée sur un ficher permet à celui-ci d'être renommer;
  • Cmd + M permet de placer la fenêtre active dans le Dock
  • Cmd + Y permet Prévisualisation d'un fichier; 
  • Cmd + Option + Esc. permet de fermer une application ou une fenêtre de force (fenêtre "Forcer les applications à quitter");
  • Cmd + flèche du haut permet  de revenir au dossier parent dans le Finder;
  • {MAJ:18/11/2019} Maj + Fn + Cmd + . : Cette combinaison permet d'afficher les fichiers cachés;

J'espère que cela vous sera utile. Vous pourrez tout de même approfondir la question en parcourant le manuel d'Administration/Guide d'utilisateur de MacOs ou tout simplement l'aide en ligne.


Portez vous bien!

samedi 16 novembre 2019

NTFS, Lecture / Ecriture sous macOS Catalina (10.15.x)

Ce tutoriel fait suite à celui sur la lecture/ecriture des disques NTFS sur MacOS 10.12,10.13,10.14 qui date d'il y a un an.
Les installations suivantes restent valable 

  • Installation Xcode tools: xcode-select --install
  • Installation Homebrew/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • Installation Cask: brew install cask
  • Installation osxfusebrew cask install osxfuse 
  • Installation de ntfs-3g: brew install ntfs-3g
Avec Catalina, il n'est pas nécessaire de désactiver le SIP mais la sécurité est plus stricte que jamais. En effet, étant donné que macOS Catalina monte le système de fichier en mode lecteur seul, nous devons trouver le moyen de modifier le fichier mount_ntfs par défaut.

Après les installations précédentes, nous avons deux versions de mount_ntfs sur notre système. L'un se trouve à /usr/local/sbin/mount_ntfs, installer avec ntfs-3g et l'autre /sbin/mount_ntfs (livré avec l'OS).
Ce que nous allons faire, c'est de copier le contenu du premier (celui de ntfs-3g) dans le second (celui du système). Il convient tout de même d'en faire une copie.

Contrairement aux anciennes versions de macOS (<10.15), sous Catalina, la commande << sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.original >> nous donne un message du genre:
 << mv: rename /sbin/mount_ntfs to /sbin/mount_ntfs.original: Read-only file system >>. Le fichier système est donc en lecture seule. Il faut donc modifier cette situation (temporairement
bien sur).
/!\ Les commandes seront annulées au redémarrage. Nous allons faire toutes nos modifications avant cela.
Les commandes suivantes nous y aides:

  • monter le fs en mode edition: sudo mount -uw /
  • renommer le fichier originale: sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.original
  • créer un nouveau fichier: sudo touch /sbin/mount_ntfs
  • changer les droits sur le fichier (uw): sudo chmod 0755 /sbin/mount_ntfs
  • changer le propriétaire du fichier: sudo chown 0:0 /sbin/mount_ntfs 
  • ouvrir le fichier en mode édition avec nano: sudo nano /sbin/mount_ntfs

Ouvrons un autre terminal et tapons les commandes suivantes:

  • déterminons notre user ID, le miens c'est 501: id -u
  • déterminons notre Group ID, le mien c'est 20: id -g
  • ouvrons le mount_ntfs de ntfs-3g: nano /usr/local/sbin/mount_ntfs
  • sélectionnons le contenu puis clic-droit pour le copier.

Le contenu du fichier /usr/local/sbin/mount_ntfs ressemble à ceci:


#!/bin/bash

VOLUME_NAME="${@:$#}"
VOLUME_NAME=${VOLUME_NAME#/Volumes/}
USER_ID=501   
GROUP_ID=20. 

if [ `/usr/bin/stat -f %u /dev/console` -ne 0 ]; then
USER_ID=`/usr/bin/stat -f %u /dev/console`
GROUP_ID=`/usr/bin/stat -f %g /dev/console`
fi


/usr/local/opt/ntfs-3g/bin/ntfs-3g \
-o volname="${VOLUME_NAME}" \
-o local \
-o negative_vncache \
-o auto_xattr \
-o auto_cache \
-o noatime \
-o windows_names \
-o user_xattr \
-o inherit \
-o uid=$USER_ID \
-o gid=$GROUP_ID \
-o allow_other \
"$@" >> /var/log/mount-ntfs-3g.log 2>&1

exit $?;



Coller le contenu ci-dessus copié dans l'autre terminal (celui où l'on a ouvert /sbin/mount_ntfs), en prenant soin de remplacer le User_ID et le GROUP_ID par les vôtres.
Enregistrer ensuite le fichier en tapant sur les touches "Ctrl+X" et "Y". Il faut ensuite fermer toutes les fenêtres ét redémarrer notre ordinateur.

Nous sommes parés à utiliser nos disques durs externes en mode lecture et écriture.
Bye.






mardi 21 mai 2019

Qwant: Comment le définir comme moteur de recherche par defaut

 Installer Qwant comme moteur de recherche par défaut sur:

- Edge:
Cliquez ensuite sur le menu “Paramètres, etc.” en haut à droite.
Puis cliquez sur “Afficher les paramètres avancés”.
Choisissez “Paramètres”.
Cliquez sur le bouton “Changer de moteur de recherche”.
Qwant apparaitra dans la liste. Sélectionnez-le et cliquez sur “Définir par défaut”.
Qwant est maintenant le moteur de recherche par défaut de votre navigateur.
- Firefox:
Deux options s'offre à nous:
Option 1 : Cliquez sur la loupe dans la barre de recherche située dans la barre d’outils.
Faites un clic droit sur le logo Qwant et sélectionnez “Définir comme moteur de recherche par défaut”. Qwant est maintenant le moteur de recherche par défaut de votre navigateur.

Option 2 : Cliquez sur l’icône du menu dans l’angle supérieur droit, puis sélectionnez “Options”. Une nouvelle fenêtre s’ouvre.
Dans le menu latéral, cliquez sur le bouton “Recherche”. Ouvrez le menu déroulant de la section “Moteur de recherche par défaut” et sélectionnez Qwant. Qwant est maintenant le moteur de recherche par défaut de votre navigateur.

Safari:
Installer l’extension Qwant sur Safari
Téléchargez le fichier de l’extension Qwant pour l’installer sur votre ordinateur.
Une fois installée, l’extension installe Qwant comme moteur de recherche par défaut sur votre navigateur Safari.

Bonne lecture. et
A bientôt.