Comment créer un unique applicatif pour smartphone, desktop et le Web ?
9,70 € TTC
p. 06 Créer une PWA (Progressive Web App)
p. 31 Les codes fantastiques : consommer local !
p. 32 Crévindiou, c’est pas du bon C d’chez nous ça, cé du C deu’l ville !
p. 36 Copie et concaténation de chaînes de caractères en langage C : 2/2 les fonctions strtnt
p. 42 Échanges de données pour un traitement distribué : communication par réseau ou entre langages
p. 68 Utilisation du protocole SSH avec Erlang/OTP
« Not a Vim expert here, but in VSCode... »
Voilà exactement le genre de chose qui me hérisse le poil, tend à réveiller en moi un Jean-Pierre Troll qui sommeille et m’incite promptement à envisager l’usage peu conventionnel d’une clé à molette garnie de barbelés.
L’utilisateur a présenté son problème, dans un cadre bien délimité, en faisant l’effort de lister les approches qu’il a testées, et demande l’assistance de personnes expertes pouvant éventuellement avoir une solution que lui-même reconnaît humblement incapable de trouver. C’est, on ne peut plus précisément, la meilleure façon de quérir l’expertise d’une communauté d’utilisateurs, et du temps du regretté USENET (oui, je sais, il n’est pas mort), la seule. Il espère une ou des réponses, correspondant à son problème qu’il a dûment détaillé, et pourtant...
Non seulement l’intervenant ponctuel n’a strictement rien à apporter à la conversation, et le reconnaît lui-même d’entrée de jeu, mais il en profite néanmoins pour faire son petit prosélytisme mesquin concernant un outil totalement hors sujet. Ceci, je suppose, dans le seul but de tenter de justifier vainement sa propre existence en étalant son minuscule savoir aussi inutile que hors de propos.
Et ceci tend à se généraliser dernièrement (ou alors, c’est juste moi). Vanter JavaScript en réponse à une question sur C++ ou Python, glisser son grain de sel sur iOS lorsqu’on parle d’Android, mettre en avant les bienfaits de Meson quand le problème concerne CMake, les exemples ne manquent pas. Avec mon petit préféré ces derniers temps, se résumant à « Oui, mais avec Rust... ». Comme si, au milieu d’un projet, ou en pleine session de debug, on allait subitement pouvoir changer de langage...
Et pourquoi ne pas étendre la technique, après tout ? ! « Je ne suis pas expert en climat, mais sur Jupiter... », « Je ne suis pas expert en cuisine, mais en maçonnerie... », ou plus génériquement (on touche au summum de l’universalité du concept) : « Je ne suis pas expert en quoi que ce soit, mais dans ma vie à moi... ». Oups, je viens de décrire Twitter... pardon, « X ».
Donc, en ce qui me concerne, je ne suis pas expert en relations humaines, mais avec un bon coup de pelle bien placé...
Denis Bodor
GNU/Linux Magazine s'adresse aux professionnels et aux particuliers désireux de mieux maîtriser les techniques et problématiques liées à la programmation et à l’utilisation de solutions open source. Tous les deux mois avec ses articles techniques, la publication couvre les thématiques suivantes : programmation système, algo, bas niveau, sécurité du code, développement web...
Lorsque vous souhaitez rendre disponible votre site sur mobile, vous pensez naturellement à développer une application mobile, mais savez-vous que vous avez une autre possibilité : écrire une PWA (Progressive Web App) et ainsi proposer en un clic d’installer son icône sur votre smartphone.
Continuons cette série sur les codes fantastiques avec une histoire de variables locales et de portée.
Dans l’article précédent avaient été présentés les problèmes posés par la copie/concaténation de chaînes de caractères en langage C et il avait été montré à la fois combien il était délicat d’effectuer ces deux opérations à l’aide des fonctions de la bibliothèque standard C et combien étaient insatisfaisantes les fonctions proposées pour les remplacer. De plus, il avait été vu que la fragilité de ces fonctions provenait de l’hypothèse suivante (depuis longtemps caduque) : les arguments fournis à ces fonctions sont toujours de bonne qualité, c’est-à-dire que leur valeur a été correctement vérifiée par la fonction appelante.