Dans MySQL, il y a deux instructions pour faire plus ou moins la même chose selon les cas :
INSERT IGNORE va faire exactement INSERT ON CONFLIT DO NOTHING, c'est à dire que tu fais un INSERT, et si ça rate, tant pis.
Particulièrement utile lors d'INSERT multiples, ça ajoute tout ce que ça peut ajouter sans planter.
Et aussi le REPLACE, qui fait un DELETE si l'INSERT est impossible, puis qui fait l'INSERT.
Le cas non géré est l'intermédiaire, où va mettre à jour si la ligne existe et la créer sinon.
Utile pour des cas particuliers où l'INSERT se fait avec des colonnes non définies, donc à la valeur par défaut, mais si la ligne existe et que ces valeurs ont été modifiées, on ne les change pas, on met juste à jour certaines colonnes. Je n'ai pas spécialement d'exemple à proposer…
Dans l'exemple donné avec les totoz, on doit pouvoir s'en sortir avec de l'INSERT IGNORE et du REPLACE.
Maintenant, je ne sais pas trop où se situe la norme SQL entre les IGNORE, les ON CONFLICT etc..
C'est assez impressionnant et ça fait quand même plaisir de voir les efforts de Steam pour promouvoir Linux.
Aller jusque forker wine pour améliorer le support des jeux indique quand même une implication assez forte, ça demande du temps, des développeurs pas trop débutants.
On peut aimer ou pas La grosse boîte à gros sous, mais ce sont les plus efficaces pour promouvoir Linux comme plateforme de gaming.
Bon, on est loin des jeux libres, sans DRM et tout, mais leur truc, Proton, est franchement libre.
La licence spécifique Proton est assez claire : tu fais ce que tu veux (modification, distribution), tant que tu gardes la licence. Mais tu ne peux pas utiliser le nom Proton, ou Steam, ou Valve, pour promouvoir ton truc à base de Proton, tu te démerdes sans les faire chier.
Bien sûr le code de wine utilisé par Proton reste sous GPL.
Reste à voir si ces efforts (c'est-à-dire l'utilisation de Proton à la place de Wine quand ça s'avère pertinent) seront aisément utilisable par des projets comme Playonlinux, play.it, Lutris, et autre qui font déjà un assez bon boulot d'utilisation de Wine pour jouer à des jeux.
Ce n'est pas absolument nécessaire pour la majorité des téléphones : un simple fastboot boot twrp.img
D'accord, tant mieux !
Bah, au moins j'ai vraiment tout giclé de l'OS d'origine. Cyanogen OS c'est un peu une version pervertie de Cyanogen Mod…
Dans la plupart des cas c'est le mieux, et de toutes façons ce qui nous importe ce sont nos données, et pas les apk installées.
Tout à fait.
D'ailleurs ma méthode peut aussi se simplifier en :
Réinstaller l'apk de façon classique
faire adb restore apk.ab pour récupérer les données de l'appli.
À ne faire bien sûr que pour les applis pour lesquelles ça sert à quelque chose (j'avoue, ne pas avoir à reconfigurer mon Orgzly, c'était plutôt cool).
Sinon je ne connais pas yalp mais j'ai bien aimé aurora
Posté par Yth (Mastodon) .
En réponse à la dépêche Haiku a 17 ans.
Évalué à 6.
Dernière modification le 23 août 2018 à 16:05.
T'as surtout oublié de lire la fin du commentaire.
Tu sais quand il est écrit que « les deux premiers sont retournés à l'adolescence », laissant de fait le troisième parfaitement mature et adulte et utilisable depuis toutes ces années.
Suite à cette dépêche, je me suis décidé à passer mon Zuk Z1 sur Lineage OS.
Pour info c'est un téléphone livré de base avec Cyanogen OS, qui n'a reçu qu'une unique mise à jour, il y a bien longtemps.
La marque Zuk n'existe plus je crois, c'était Lenovo derrière, mais ils font maintenant directement des téléphone Lenovo
L'installation
Premier point : il n'était pas rooté, n'avait pas de recovery spécial, il y avait donc tout à faire, et donc… tout à perdre :)
Impossible de passer outre le "fastboot oem unlock" qui nettoie absolument tout et réinitialise l'OS d'origine, pour pouvoir installer TWRP, puis Lineage OS.
Grosso modo, la doc officielle sur Lineage OS est au poil : https://wiki.lineageos.org/devices/ham/install
* À noter que fastboot (à la différence d'adb) ne reconnaît pas le téléphone s'il est branché sur le port USB-C de mon ordinateur (le Zuk Z1 utilise l'USB-C et pas le micro-USB), mais sur un port USB standard ça fonctionne bien.
Il faut exécuter deux fois "fastboot oem unlock", la première fois ça plante, il n'arrive pas à détruire toutes nos chères données personnelles. La seconde fois ça fonctionne, allez comprendre, mais je ne suis pas le seul à avoir remarqué ça, d'aucuns prétendent qu'il faut rebooter le téléphone, mais je suis flemmard, j'ai retenté directement, le reboot c'est pour les amateurs de Windows de toute façon.
Une fois délocké, aucun soucis pour installer TWRP, puis Lineage OS (14.1 pour le moment), le module pour rooter le téléphone, et c'est parti !
Problème, car il en faut, le gyroscope ne fonctionne pas, et donc la rotation automatique de l'écran ne fonctionne pas. Apparemment le lecteur d'empreinte non plus, mais je m'en moque.
Rien d'indiqué sur la doc, mais en cherchant sur le grand Nain Ternète, on se rend compte qu'il faut installer un firmware spécial.
Un petit saut dans le vide en téléchargeant un fichier qui n'a pas l'air diablement officiel de quoi que ce soit : mm-firmware.zip ou ham-mm-firmware.zip, on en trouve plusieurs sur le site androidfilehost.com, aucune idée des différences, les fichiers sont juste là, mais le site n'est pas un site de téléchargement à la con, j'y vais.
Flasher le truc via recovery TWRP, ça fonctionne.
Bref, pas quelque chose de trivial, mais rien d'extrêmement complexe non plus, sauf pour le firmware, problème pour lequel on trouve des solutions extraordinairement complexes à base de multiples réinstallations d'OS divers pour arriver à un Lineage OS qui marche. Il convient de passer à côté sans s'en préoccuper :) (Ma solution simple et directe en une étape - étape 1 : on flashe - fonctionne).
La sauvegarde
Maintenant un point plus intéressant : on a tout vidé, tout perdu, sprotch.
C'est gentil mais bon, c'est pas forcément ce qu'on veut non plus, on aimerait garder quelques données malgré tout quand même ? Certes, la configuration de K9-mail se refait en quelques minutes, mais bon ses sauvegardes de jeux d'Humble Android Bundle, on ne veut pas forcément les perdre, ni ses traces GPX de ForRunners.
Et puis on va se passer complètement des Google Apps (grâce à fdroid surtout et yalp store pour le reste), et on a au fil des années acheté trois ou quatre jeux sur le store Google.
Évidemment il faut travailler là-dessus avant de tout raser et d'installer LineageOS.
La meilleure solution semble être une appli appelée Titanium backup.
Mais la machine n'est pas rootée, et pour la rooter faut faire des trucs compliqués qui passent par… un oem unlock et une réinitialisation complète du téléphone, ou mieux, installer Lineage OS rooté (… ;) …).
Raté !
Il reste adb.
adb backup, adb restore, ça a l'air trop génial, selon la doc ça fait pile ce qu'on veut !
Mwahaha, trop facile !
Bon, ça plante quand on tente un backup direct de toutes les applis.
Tant pis, on choppe la liste : adb shell 'pm list packages -f'
Remise au propre on a le nom de toutes les applis, on fait le ménage des trucs dont on se moque, et hop, une super liste.
Une petite boucle shell pour sauvegarder chaque appli dans son propre fichier :
for apk in $(cat mes_apk); do
adb backup -apk -obb -f $apk.ab $apk
done
Faut cliquer plein de fois sur le téléphone pour valider chaque appli, mais bon comme ça au moins on a sauvegardé un maximum d'applis, et celles qui ne veulent pas sont identifiées et en nombre restreint. C'est chiant mais c'est pour la bonne cause : la notre.
Une petite vérification malgré tout ?
Allez, c'est quoi donc un fichier .ab, backup android ?
C'est un tar.gz dont on a remplacé quelques octets des entêtes, et sucré le checksum final.
On décompresse comme ça : ( printf "\x1f\x8b\x08\x00\x00\x00\x00\x00" ; tail -c +25 fichier.ab) | tar xfz -
On a un message d'erreur de fin prématurée du fichier (il manque les checksums finaux), mais ça fonctionne.
Au passage, si le fichier est tronqué en plein milieu plutôt que juste du checksum final, je ne sais pas bien comment le repérer.
Il y a d'autres solutions, plus propres, car en fait il s'agit d'un backup java, donc un programme java qui décompresse va le faire sans erreur et tout. Mais bon, entre ma ligne de shell et un obscur programme java pompée je ne sais pas où, j'ai opté pour la simplicité.
Et puis ça marche !
On a l'apk dedans (dans apps//a/base.apk)
Et d'autres données.
En particulier sauvegarder OSMAnd~ sauvegarde aussi toutes les cartes téléchargées, ça peut faire une archive assez grosse !
adb backup -shared -f shared.ab permet de sauvegarder tous les fichiers dans /sdcard/ du téléphone, donc tous les trucs persos, y compris les photos, téléchargements etc.
Ça fonctionne, on décompresse et on accède à tout, nickel, c'est la fête !
Certaines applications sortent une archive vide, de 41 octets.
Ah oui, il y a une autorisation pour les applis permettant de refuser le backup.
Aucun message d'erreur de la part d'adb, ni du téléphone, simplement une archive vide.
Rien à faire sans être root dans ce cas-là, mais comme ces applis sont en nombre limité, il est plus facile d'enregistrer ses données par ailleurs, et de se préparer à faire une réinstallation à partir de zéro.
C'est par exemple le cas de K9-Mail, ou de Firefox et Fennec. Ça se comprend dans le sens qu'il y a des identifiants assez sensibles dedans, et qu'adb est un trou de sécurité assez important si on a accès physiquement 5 minutes au téléphone d'autrui.
Il serait trivial d'écrire un script qui liste les applis installées, repère les applis de mail, et les backup chacune dans une archive. En moins de 5 minutes on aurait tout sauvegardé et paf accès aux mails de la personne. Ben ça marche pas, parce que K9-Mail par exemple refuse le backup.
La restauration
Bon, alors on est content ?
ouais, ouais, pas vraiment, parce qu'une fois le téléphone remis à zéro et Lineage OS installé, on réalise que adb restore fichier.ab, bien qu'apparaissant fonctionner sans la moindre erreur, ne fonctionne pas. Aucune appli d'installée, quedalle…
Stress, tension, agacement, Qwant, DuckDuckGo, Tonton Roger et même Google sont mis à contribution pour trouver une solution.
En fait, là encore ce n'est pas tout à fait, en regardant sur le système on voit que les fichiers contenus dans l'archive sont bien dans le téléphone ! Y compris le base.apk au bon endroit. Mais l'appli elle-même n'est pas installée.
La solution est assez simple : extraire le base.apk de l'archive, faire un adb install base.apk puis faire le adb restore.
On installe l'application, puis on restaure les données.
Et ça marche !
Ouf…
Pour info, voici un script shell permettant d'automatiser la restauration d'une application sauvegardée.
On considère que Orgzly (par exemple), de son petit nom com.orgzly, est sauvegardée dans le fichier com.orgzly.ab
Il suffit ensuite de faire adbrestore /path/to/com.orgzly.ab ou même adbrestore com.orgzly dans le bon répertoire.
Le code :
#!/bin/sh
DIR=$(dirname $1)
cd $DIR
APP=$(basename $1 .ab)
AB=${APP}.ab
[ ! -f "$AB" ] && echo "$DIR/$AB does not exist." && exit
(mkdir /tmp/$APP
cd /tmp/$APP
( printf "\x1f\x8b\x08\x00\x00\x00\x00\x00" ; tail -c +25 $DIR/$AB) | tar xfz - 2> /dev/null
)
APK=/tmp/$APP/apps/$APP/a/base.apk
[ ! -f "$APK" ] && echo "$APK not found !" && exit
adb install $APK
adb restore $AB
rm -r /tmp/$APP
Voilà, c'est amusant tout ça non ?
On se marre avec Android, surtout le côté user-friendly de la remise à zéro complète pour installer un nouvel OS ^
Cela dit, et plus sérieusement, Lineage OS fonctionne très bien, j'ai un peu l'impression d'avoir acheté un nouveau téléphone tout neuf sans dépenser un centime !
Et j'aurai des mises à jour en plus :)
Et maintenant que je suis rooté, hop, j'installe un Linux dessus, et je fais le con en ssh.
Note sur les Google Apps
La méthode de sauvegarde/restauration des applications fonctionne aussi avec les applications achetées, et elles fonctionnent sans problème après restauration, malgré l'absence des Google Apps, et donc a priori de tout moyen de vérifier qu'elles ont été achetées.
Je peux donc rejouer à Majesty sur mon écran microbien.
Par ailleurs, je n'ai encore croisé aucune application se plaignant réellement de l'absence des Google Apps.
Certes, je n'ai jamais utilisé énormément d'applis proprio de la mort, banque, assurance, Trello pour le boulot, WhatsApp pour la famille, SNCF pour les trains.
Trello par exemple crie qu'il ne va pas fonctionner parce que notre téléphone n'est pas compatible avec les Google Apps, que c'est trop affreux, c'est la fin des haricots, mais une fois qu'on a cliqué sur "Ouais, OK, tais-toi", ça a l'air de fonctionner parfaitement normalement. Pas impossible qu'il manque genre les notifications en temps réel, un truc du genre, à voir à l'usage, mais l'accès aux tableaux fonctionne normalement. Même mieux que sous l'ancien Cyanogen OS où l'appli buggait un peu.
Le Yalp Store fonctionne au poil, permet les mises à jour en tâche de fond si on veut avec l'accès root, ou à la mode fdroid, il liste les mises à jour et on les fait à la main.
On pourrait même l'utiliser avec ses propres identifiants Google pour installer les applications achetées, donc même de ce côté là, rien de perdu, et même rien d'inaccessible par rapport à un téléphone bloaté et google-apps-ifié !
Voilà, voilà, pour ceux qui hésitent et se posent des questions, j'espère que vous trouverez des réponses là-dedans.
N'hésitez pas à poser d'autres questions !
En l'occurrence, le message que tu as reproduit ici est 100% compréhensible.
Soit tu généralises à partir d'un cas particulier.
Soit tu fais semblant de ne pas comprendre.
Parce que tu sais très bien que régulièrement, avec ce genre de syntaxe inventée sur le vif, on ne sait pas ce que la personne a voulut écrire.
Parfois on hésite entre une chose et son exact contraire, parce que c'est trop mal écrit.
Maintenant, tu traînes depuis longtemps. Je traîne depuis encore plus longtemps.
Et donc tu sais aussi que je ne fais jamais de remarque sur des détails, des fautes d'orthographe isolées, ou de grammaire sans conséquence.
C'es toi qui parle de « grammar nazi » en essayant d'atteindre le point Godwin, en bon troll, mais tu ne t'adresses pas à moi, je n'entre pas dans la définition.
En plus, je suis le premier à faire des néologisme, ou plutôt en général des barbarismes, j'approuve la licence prosaïque (et poétique aussi, mais ce n'est pas le sujet).
Mais il y a un juste milieu entre écrire à la perfection (est-ce que ça existe ?) ou le faire en langage SMS.
Et ici on parle justement de ce milieu, de la frontière, très loin de la rigidité, très loin aussi du n'importe quoi.
On parle de l'écriture inclusive, ou comment trouver une bonne solution pour que notre langue soit moins sexiste. Donc on parle vraiment de changer les usages, si ce n'est la langue.
Et je t'affirme que pour trouver une bonne manière de changer la langue, ou les usages, il vaut vraiment mieux bien la connaître la langue.
Ne serait-ce que pour ne pas réinventer la roue (auteure quand autrice est grammaticalement correct et utilisé depuis des siècles, pour ne citer qu'un unique exemple).
Et aussi pour comprendre pourquoi certaines idées sont de fausses bonnes idées.
Développeureuse, entre dans la catégorie des fausses bonnes idées, ça ne marche ni à l'écrit ni à l'oral, et peut aisément faire passer un message qui n'a strictement rien à voir (développeuse peureuse), chose qui a une réelle importance si on cherche réellement à changer la langue ou même les usages.
Maintenant, la solution je ne l'ai pas. J'aurais écrit certainement développeuses et développeurs, ou cherché un autre neutre (les personnes en charge du développement ?), qui est inclusif tout en étant grammaticalement correct. Mais c'est mon avis, parce que je ne crois pas qu'on ait encore trouvé la bonne solution pour l'écriture inclusive (le point ? bof, inventer des mots mascuminins ? Mouaife…).
Posté par Yth (Mastodon) .
En réponse au journal LineageOS.
Évalué à 10.
Dernière modification le 18 août 2018 à 09:34.
Sauf que le texte est écrit en français classique, c'est juste la police choisie qui est à chier.
Donc le problème n'est pas du tout le même…
Et oui, on arrive toujours à lire des trucs difficiles à lire, en faisant des efforts.
Maintenant c'est la réponse que j'ai fait de nombreuses fois depuis pas mal d'année à tous les gens qui écrivent mal et disent « ouais, mé bon, tant ke le message passe, osef que sa soit mal écrit, on se comprent ! »
En fait non, on ne se comprend pas.
Là il faut juste garder à l'esprit l'intérêt de la langue ici : on essaie de communiquer, des idées, des pensées, des réflexions, les uns les autres.
J'insiste : on cherche à communiquer.
Ce n'est pas un forum de poésie ou d'écriture créative, ce sont des commentaires, permettant le débat d'idée et l'échange de point de vue.
Et pour communiquer correctement, il faut et il suffit de se faire comprendre.
Et si on ne parle pas le même français, les lecteurs peuvent comprendre de travers, voire ne pas comprendre du tout.
Et si ça arrive, alors on n'a pas réussi à communiquer.
Tous les efforts mis dans l'écriture du commentaire ont été vains, c'est triste !
Il est ici l'intérêt de respecter la langue et d'écrire en bon français.
Maintenant, l'écriture inclusive, c'est un autre problème, plus sociologique, et très actuel.
Faire des néologisme type « développeureuse » ça fait vraiment une invention autour de développeuse et peureuse, et pas du tout un truc inclusif. Ça fait néologisme et on cherche ce que l'auteur a voulu écrire, il faut passer par plusieurs étapes pour se dire que ça pourrait être « développeuses et développeurs » (c'est si difficile à écrire deux mots ?).
Comme toujours, la lisibilité, la communication, c'est au final tout ce qui compte.
Ya du travail à faire avant de réussir à supprimer le machisme de nos habitudes de langue :)
Débuté Linux en octobre 1999, passé sous Slack avec la sortie de la 7.0 en novembre 1999.
Seule distrib qui faisait fonctionner mon matos bricolé, récupéré à droite à gauche, assemblé au petit bonheur la chance. Saloperie de SiS intégrée qui foirait salement avec Redhat, Debian, Mandrake, Suse, soit rien, soit tout noir, soit le plus commun : d'atroces bugs d'affichages (pixels en vrac, lignes baveuses, "interférences" sur l'écran, résolutions à chier, et autres horreurs)…
Pour toujours la même raison : elle ne sait pas mieux que toi ce que tu veux faire, et donc elle m'a permis de comprendre comment faire.
Et ce n'était pas si difficile.
Et depuis, ça marche :)
Mais c'est normal que tout le monde n'aime pas, c'est même normal qu'il y ait nettement moins d'utilisateurs que sous Ubuntu.
Par contre, quand on aime, et qu'on sait pourquoi on aime, c'est très difficile de composer avec les défauts frustrants d'autres ditribs, qui se mettent sur ton chemin pour te simplifier la vie et te la rendant plus compliquée quand tu sais faire les choses en dessous…
ça suppose une forme par projet où les étudiants doivent modifier un ou des aspects du noyau de façon bien précise et balisée.
C'est un truc du genre qu'on avait fait.
L'idée c'était de permettre la création d'un fichier nommé "…" dans un répertoire (bon, ça c'est possible sans rien faire), qui liste d'autres répertoires.
Si ce fichier existe, alors toute tentative d'ouverture d'un fichier ou d'exécution d'un programme rajoute la possibilité de chercher parmi les répertoires listés dans le fichier "…".
En gros lancer "commande" va chercher dans le $PATH et si on ne trouve rien, on regarde si on peut exécuter le programme dans les répertoires listés dans le fichier "…".
Faire un open("fichier") va chercher à l'ouvrir dans le répertoire courant, $CWD, et s'il ne le trouve pas, va chercher à l'ouvrir dans les répertoires listés dans le fichier "…", de façon transparente.
Donc « emacs truc.txt » va peut-être éditer un fichier truc.txt complètement ailleurs dans le système !
Sans que ça ne pose le moindre soucis, et sans qu'on puisse faire la différence.
Je laisse le soin à chacun d'imaginer les possibilités infinies de failles de sécurité, de bug, de comportements imprévisibles et de destruction du système complet.
Je m'étais seulement attaché à faire en sorte que ça ne plante pas : gaffe aux boucles infinies, trucs comme ça.
De mémoire, mon code faisait environ 300 lignes, les moins intrusives possible.
Mais quand même à un endroit ultra-sensible du kernel :)
Posté par Yth (Mastodon) .
En réponse au journal Lecture pour cet été.
Évalué à 10.
Dernière modification le 09 juillet 2018 à 14:15.
Euh, non, pas du tout…
Il y a à peu près toujours eu des billets concernant la culture en général sur DLFP/LinuxFR, présenter des avis sur des films, ou des livres.
Ça n’a absolument rien de choquant, bien au contraire.
Ça reste assez marginal, logique.
Ça change un peu les idées, tant mieux.
Ça permet de discuter d’autres choses intéressantes avec des gens avec qui on partage un intérêt pour le présent et l’avenir du monde technologique, ce qui permet d’apporter un éclairage souvent moins « grand public » des œuvres dont il est question, et c’est tout aussi intéressant.
De là à accuser l’auteur d’avoir un intérêt financier là-dedans, je trouve que c’est aller très très vite dans l’agression non fondée, non méritée, non voulue.
Bien sûr je partais de zéro et j'ai tout appris sur le tas, aujourd'hui ça serait pareil (codé un driver en 2001, et plus fait de programmation kernel depuis).
Le but reste de trouver où se passe ce que tu veux modifier, de comprendre les structures de données utilisées en interne, et de rajouter ton hook (ou hack ) au bon endroit pour obtenir l'effet voulu.
Pour l'écriture d'un pilote : une bonne doc (il y en a pas mal là-dessus), des pilotes d'exemple, le code de deux trois autres pilotes qui jouent dans la même catégorie, des dizaines de reboot après freeze au chargement du module (mwahaharrrgh…).
Je ne doute pas cependant que les difficultés ne sont plus du tout les mêmes, et que le chemin parcouru sera assez différent, mais les étapes globales restent les mêmes : lire, comprendre, modifier, reproduire.
Et le code de Linux était déjà très agréable à lire il y a 20 ans, je pense que ça n'a pas empiré aujourd'hui. En fait le nombre de contributeurs tend plutôt à prouver que le code reste très accessible, et certainement plus qu'il l'était avant.
S'il y a bien un projet où la lisibilité et la facilité d'un code à être relu et repris par quelqu'un d'autre a une importance capitale - bien plus que la sécurité, pour la pérennité du projet, je pense - c'est le noyau Linux.
Faut y croire très fort à la publicité qui te dit qu'une pâte suffisamment chargée d'argent ou de cuivre pour être un bon conducteur thermique, est aussi un bon isolant électrique…
Y croire très très fort…
Un article dans 20 minutes, très sérieux, hier matin : « le sérieux c'était mieux avant. » ils disaient par exemple « Avant, le sérieux c'était sérieux, et les gens faisaient la part des choses, aujourd'hui le sérieux c'est devenu banal. […] un vrai problème sociétal pour notre société au jour d'aujourd'hui […] »
Époustouflant !
Il y a presque 20 ans, j'ai eu un cours en école d'ingénieur où on a fait de la programmation noyau Linux.
C'était absolument génial :
- se plonger dans un très gros projet, en comprendre une partie des rouages ;
- lire du code, des tonnes de code, et trouver ce qu'on cherche parmi des millions de lignes (grep est devenu mon meilleur ami à l'époque !) ;
- réussir à écrire du code qui fonctionne au milieu de tout ce bazar ;
- ou selon la préférence, réussir à poser une pierre au milieu de cette immense cathédrale ;
- et essayer de le faire dans le style du noyau Linux.
Avec une contrainte supplémentaire que je m'étais ajouté : le faire en un minimum de lignes de code, sans tricher.
Très très formateur !
Et pas si difficile, c'est assez facile (jusqu'à un certain point…) de trouver ce qu'on cherche dans le noyau, le plus difficile ce sont les tests, on manquait de systèmes de virtualisation pratiques, alors ça passait par des reboots intempestifs (à moins que j'utilisais déjà qemu ou bochs ? Plus très sûr).
Ah ben ça y est, on voit que Microsoft est aux commandes.
Il y a pléthore de projets qui ont reçu la même lettre, par exemple le projet slackbuilds.org a reçu la même chose, et a reconstruit tout son historique git pour supprimer les headers de Steinberg.
Oui, il faut purger l'historique git des fichiers, sinon ils sont toujours présents !
C'est automatisé, et c'est ce à quoi va ressemble le net après l'adoption de l'article 13 : des filtrages automatiques.
Et une balle dans la tête des projets parce que quelqu'un a écrit une fonction générique et indiqué qu'elle en détenait le copyright, ciblant des dizaines de projets sans aucun lien. Bon, là j'exagère probablement, mais ça n'a rien d'impossible techniquement : une mauvaise « IA » de filtrage, pif paf, des centaines de projets considérés comme enfreignant un copyright à la con, déposé la veille par un emmerdeur.
Tout "bêtement" car tu n'as aucune aucune idée du futur, genre si "les francophones" ça va rester.
Bof, des études montrent que l'Afrique va dépasser l'Asie en population d'ici 2050 (4,5 à 5 milliards d'habitants), et que le Français va rester la langue secondaire la plus parlée dans le continent, il est possible que le Français devienne le lange la plus parlée dans le monde, devant le Chinois.
Attention : je ne fais pas miens ces chiffres, et je ne trollerai pas dessus, c'est juste pour souligner que faire des plans sur la comète, c'est risquer de la voire s'en Haley très loin de la cible…
Et sinon, avec le Royaume-Unis qui quitte l'Union Européenne, ça laisse assez peu de pays officiellement anglophones :
L'Irlande qui a l'Anglais comme seconde langue officielle (mais bon, c'est la langue maternelle majoritaire et l'Irlandais semble voué à rejoindre le Breton).
Malte, qui a l'anglais comme seconde langue officielle, pour le coup absolument pas prêt de supplanter le Maltais.
Donc zéro pays avec l'anglais comme première langue.
Difficile alors politiquement de dire « tous vers l'anglais, 100% anglais, toyoyo ! ».
Et franchement, pour des noms de variable, ma façon de faire à toujours été d'être le plus accessible possible auprès de l'équipe et des collègues. Quand la plupart des gens ont un anglais très approximatif (et faut pas se leurrer, bien des Français ont déjà un français approximatif, alors ne parlons pas de l'anglais par pitié !), si tu veux que les gens avec qui tu bosses te comprennent, évite les termes alambiqués en anglais, et garde un bon vieux français simple et clair.
À mon sens, le problème ne se pose qu'à partir du moment où un projet prend effectivement une dimension internationale, et commence à grossir. Il vaut mieux définir à ce moment là une politique claire sur la langue, la convention de nommage etc, et nettoyer le code. Avant, ça n'a pas vraiment d'intérêt.
Le cas OpenOffice/LibreOffice est un cas d'école d'attente trop longue avant de faire ce choix.
Probablement lié au fait que StarOffice était propriétaire, donc entièrement lié à des équipes allemandes, qui bossaient entre elles, jusqu'à atteindre déjà une taille énorme.
Bref, trollons, trollons, mais chacun codera bien comme il voudra, ce n'est pas appliquer un sed bien travaillé sur les sources pour angliciser d'un seul coup tout les noms de variables qui va tuer l'avenir du projet.
Pour l'org-mode sous Android, en logiciel libre, il y a orgzly, vraiment sympa à utiliser, en liste de tâches, prise de notes, etc.
Il ne gère pas toute la syntaxe org-mode (pas les tableaux par exemple), et ne sert pas vraiment à éditer du texte pour le mettre en forme derrière. Il sert plutôt sur l'autre aspect de l'org-mode, l'organisation etc. C'est facile de gérer des propriétés diverses, des dates limites, des trucs comme ça.
Bref, à découvrir pour ceux qui aiment l'org-mode !
Ils ont ajouté une option indispensable pour éviter le rage-reload d'ailleurs.
Le générateur aléatoire est déterministe (optionnellement !) et donc recharger la sauvegarde ne change pas l'avenir !
J'ai achevé des missions difficiles comme ça il y a pas mal de temps (8-10 ans quand même), parce que je ne voulais pas recommencer le scénar pour mieux le jouer.
Cela dit, l'aléatoire est super frustrant quand toutes les probabilités sont vers une victoire éclatante et qu'on se retrouve à perdre son unité sans blesser l'ennemi…
Mais sinon, j'adorais le jeu il y a dix ans, j'y reviens de temps en temps, et là c'est l'occase de replonger salement, fichtre mon chiffre d'affaire va prendre du plomb dans l'aile ;)
Désolé pour le temps de réponse, j'étais en vacances, et après le boulot m'a rattrapé :)
Le sujet m'intéresse toujours…
Là je vois l'outil comme un moyen de gérer des communautés locales existantes. Un appuis informatique pour simplifier à la fois l'accès à l'information et aussi la communication pour des groupes d'associations, commerçants, entreprises, à un niveau local.
Ce que j'ai vu dans le projet en lisant cette dépêche et en allant sur les sites, c'est la possibilité d'essayer de répertorier les activités dans mon coin, pour présenter facilement un peu tout ce qui existe, la fois en artisans, commerces, entreprises, associations, évènements, etc.
Et bien sûr, point le plus important, sans passer par des bousins atroces, inutilisables, et "monnaiecratiques" à la facebook ou google (ie des trucs où tu es plus visible si tu payes).
Nous avons la volonté de pouvoir créer un réseau fédéré type PeerTube.
Ça, ça m'intéresse !
En fait j'espérais un truc du genre, d'où mon intérêt pour monter une instance locale.
Dans mon idée, j'installais un communecter dans mon coin, j'invitais tout le monde à le paramétrer (artisans, assoces, etc, qui veut, en poussant les gens pour faire effet boule de neige). Et si par la magie des systèmes décentralisés, on peut rechercher plus loin, et par exemple basculer sur un autre communecter de la grosse-ville d'à côté en suivant le résultat d'une recherche élargie, c'est le top du top !
Pourquoi ?
Ben ça donne plus l'impression d'avoir notre outil local, on se sent plus crédible pour en faire la promotion.
Et puis les gens aiment bien les initiatives locales, qui ne vont pas inclure le monde entier, ça leur permet d'avoir une vision plus exhaustive de ce qui les intéresse autour d'eux. Dans les outils google on sent qu'on n'est rien, paumé au milieu de tout, et on accepte les informations parcellaires, incomplètes, pas à jour, voire fausse, parce que… bah c'est comme ça, c'est tout.
Il y a aussi la pérennité : la seule condition de survie de l'outil, c'est qu'il soit utilisé, s'il est utilisé, il y aura toujours quelqu'un pour reprendre la main dessus, projet porté par une assoce déjà active par ailleurs, il « suffit » de trouver un nouveau bénévole pour administrer le truc, et même en campagne, avec des petits villages, ça se trouve assez facilement si on y trouve un intérêt.
Pour répondre à Oceatoon aussi, je vois comment on peut se créer son propre territoire, mais le problème immédiat que je vois, c'est qu'on ne peut pas demander à chacun de faire ce paramétrage.
Une instance locale, ou un paramétrage local (avec sous-URL spécifique ?) qui aurait directement un paramétrage localisé sur plusieurs communes, c'est un bon moyen de communiquer localement, et les gens qui débarquent dedans voient directement ce qui les intéresse eux.
Si en plus ils se rendent compte qu'ils peuvent chercher plus loin et trouver des choses, c'est le top :)
Alors soit en paramétrage spécifique d'une instance centrale (mais je ne suis pas fan des solutions centralisées) soit un réseau d'instances capables de « passer » de l'une à l'autre en suivant des recherches.
J'ai conscience que ça reste assez flou, et je vois déjà pas mal de problèmes techniques pas simples à résoudre, mais j'aime l'idée :)
Peut-être une base commune, répliquée, avec les éléments cherchables, un minimum d'info (juste le nom, et une catégorie, par exemple) et l'instance sur laquelle se trouvent les infos, et la recherche permet de faire une requête sur l'instance d'à côté pour avoir des infos détaillées, avec un cache local pour ne pas refaire plein de fois la même requête d'instance à instance.
Bref, j'ai l'impression que des choses existent et vont dans la direction qui m'intéresse, reste à voir ce qu'il manque, si je peux aider un peu aussi, et réussir à construire quelque chose dans mon coin :)
# MySQL : INSERT IGNORE ou REPLACE
Posté par Yth (Mastodon) . En réponse au journal UPSERT dans PostgreSQL ça déchire. Évalué à 8.
Dans MySQL, il y a deux instructions pour faire plus ou moins la même chose selon les cas :
INSERT IGNORE va faire exactement INSERT ON CONFLIT DO NOTHING, c'est à dire que tu fais un INSERT, et si ça rate, tant pis.
Particulièrement utile lors d'INSERT multiples, ça ajoute tout ce que ça peut ajouter sans planter.
Et aussi le REPLACE, qui fait un DELETE si l'INSERT est impossible, puis qui fait l'INSERT.
Le cas non géré est l'intermédiaire, où va mettre à jour si la ligne existe et la créer sinon.
Utile pour des cas particuliers où l'INSERT se fait avec des colonnes non définies, donc à la valeur par défaut, mais si la ligne existe et que ces valeurs ont été modifiées, on ne les change pas, on met juste à jour certaines colonnes. Je n'ai pas spécialement d'exemple à proposer…
Dans l'exemple donné avec les totoz, on doit pouvoir s'en sortir avec de l'INSERT IGNORE et du REPLACE.
Maintenant, je ne sais pas trop où se situe la norme SQL entre les IGNORE, les ON CONFLICT etc..
Yth.
# Ils font de vrais efforts...
Posté par Yth (Mastodon) . En réponse au lien Steam propose des jeux Windows sous Linux via wine. Évalué à 10.
C'est assez impressionnant et ça fait quand même plaisir de voir les efforts de Steam pour promouvoir Linux.
Aller jusque forker wine pour améliorer le support des jeux indique quand même une implication assez forte, ça demande du temps, des développeurs pas trop débutants.
On peut aimer ou pas La grosse boîte à gros sous, mais ce sont les plus efficaces pour promouvoir Linux comme plateforme de gaming.
Bon, on est loin des jeux libres, sans DRM et tout, mais leur truc, Proton, est franchement libre.
La licence spécifique Proton est assez claire : tu fais ce que tu veux (modification, distribution), tant que tu gardes la licence. Mais tu ne peux pas utiliser le nom Proton, ou Steam, ou Valve, pour promouvoir ton truc à base de Proton, tu te démerdes sans les faire chier.
Bien sûr le code de wine utilisé par Proton reste sous GPL.
Reste à voir si ces efforts (c'est-à-dire l'utilisation de Proton à la place de Wine quand ça s'avère pertinent) seront aisément utilisable par des projets comme Playonlinux, play.it, Lutris, et autre qui font déjà un assez bon boulot d'utilisation de Wine pour jouer à des jeux.
Yth.
[^] # Re: Lineage OS sur Zuk Z1 - Et backup d'apk
Posté par Yth (Mastodon) . En réponse au journal LineageOS. Évalué à 4.
D'accord, tant mieux !
Bah, au moins j'ai vraiment tout giclé de l'OS d'origine. Cyanogen OS c'est un peu une version pervertie de Cyanogen Mod…
Tout à fait.
D'ailleurs ma méthode peut aussi se simplifier en :
À ne faire bien sûr que pour les applis pour lesquelles ça sert à quelque chose (j'avoue, ne pas avoir à reconfigurer mon Orgzly, c'était plutôt cool).
https://f-droid.org/en/packages/com.dragons.aurora/
Apparemment c'est une version "Matérial Disaïgne" de Yalp, donc blanc bonnet et bonnet blanc !
Yth.
[^] # Re: Retour vers le futur
Posté par Yth (Mastodon) . En réponse à la dépêche Haiku a 17 ans. Évalué à 6. Dernière modification le 23 août 2018 à 16:05.
T'as surtout oublié de lire la fin du commentaire.
Tu sais quand il est écrit que « les deux premiers sont retournés à l'adolescence », laissant de fait le troisième parfaitement mature et adulte et utilisable depuis toutes ces années.
Yth, de rien :)
# Lineage OS sur Zuk Z1 - Et backup d'apk
Posté par Yth (Mastodon) . En réponse au journal LineageOS. Évalué à 9.
Sommaire
Suite à cette dépêche, je me suis décidé à passer mon Zuk Z1 sur Lineage OS.
Pour info c'est un téléphone livré de base avec Cyanogen OS, qui n'a reçu qu'une unique mise à jour, il y a bien longtemps.
La marque Zuk n'existe plus je crois, c'était Lenovo derrière, mais ils font maintenant directement des téléphone Lenovo
L'installation
Premier point : il n'était pas rooté, n'avait pas de recovery spécial, il y avait donc tout à faire, et donc… tout à perdre :)
Impossible de passer outre le "fastboot oem unlock" qui nettoie absolument tout et réinitialise l'OS d'origine, pour pouvoir installer TWRP, puis Lineage OS.
Grosso modo, la doc officielle sur Lineage OS est au poil :
https://wiki.lineageos.org/devices/ham/install
* À noter que fastboot (à la différence d'adb) ne reconnaît pas le téléphone s'il est branché sur le port USB-C de mon ordinateur (le Zuk Z1 utilise l'USB-C et pas le micro-USB), mais sur un port USB standard ça fonctionne bien.
Une fois délocké, aucun soucis pour installer TWRP, puis Lineage OS (14.1 pour le moment), le module pour rooter le téléphone, et c'est parti !
Bref, pas quelque chose de trivial, mais rien d'extrêmement complexe non plus, sauf pour le firmware, problème pour lequel on trouve des solutions extraordinairement complexes à base de multiples réinstallations d'OS divers pour arriver à un Lineage OS qui marche. Il convient de passer à côté sans s'en préoccuper :) (Ma solution simple et directe en une étape - étape 1 : on flashe - fonctionne).
La sauvegarde
Maintenant un point plus intéressant : on a tout vidé, tout perdu, sprotch.
C'est gentil mais bon, c'est pas forcément ce qu'on veut non plus, on aimerait garder quelques données malgré tout quand même ? Certes, la configuration de K9-mail se refait en quelques minutes, mais bon ses sauvegardes de jeux d'Humble Android Bundle, on ne veut pas forcément les perdre, ni ses traces GPX de ForRunners.
Et puis on va se passer complètement des Google Apps (grâce à fdroid surtout et yalp store pour le reste), et on a au fil des années acheté trois ou quatre jeux sur le store Google.
Évidemment il faut travailler là-dessus avant de tout raser et d'installer LineageOS.
La meilleure solution semble être une appli appelée Titanium backup.
Mais la machine n'est pas rootée, et pour la rooter faut faire des trucs compliqués qui passent par… un oem unlock et une réinitialisation complète du téléphone, ou mieux, installer Lineage OS rooté (… ;) …).
Raté !
Il reste adb.
adb backup, adb restore, ça a l'air trop génial, selon la doc ça fait pile ce qu'on veut !
Mwahaha, trop facile !
Bon, ça plante quand on tente un backup direct de toutes les applis.
Tant pis, on choppe la liste :
adb shell 'pm list packages -f'
Remise au propre on a le nom de toutes les applis, on fait le ménage des trucs dont on se moque, et hop, une super liste.
Une petite boucle shell pour sauvegarder chaque appli dans son propre fichier :
Faut cliquer plein de fois sur le téléphone pour valider chaque appli, mais bon comme ça au moins on a sauvegardé un maximum d'applis, et celles qui ne veulent pas sont identifiées et en nombre restreint. C'est chiant mais c'est pour la bonne cause : la notre.
Une petite vérification malgré tout ?
Allez, c'est quoi donc un fichier .ab, backup android ?
C'est un tar.gz dont on a remplacé quelques octets des entêtes, et sucré le checksum final.
On décompresse comme ça :
( printf "\x1f\x8b\x08\x00\x00\x00\x00\x00" ; tail -c +25 fichier.ab) | tar xfz -
On a un message d'erreur de fin prématurée du fichier (il manque les checksums finaux), mais ça fonctionne.
Au passage, si le fichier est tronqué en plein milieu plutôt que juste du checksum final, je ne sais pas bien comment le repérer.
Il y a d'autres solutions, plus propres, car en fait il s'agit d'un backup java, donc un programme java qui décompresse va le faire sans erreur et tout. Mais bon, entre ma ligne de shell et un obscur programme java pompée je ne sais pas où, j'ai opté pour la simplicité.
Et puis ça marche !
On a l'apk dedans (dans apps//a/base.apk)
Et d'autres données.
En particulier sauvegarder OSMAnd~ sauvegarde aussi toutes les cartes téléchargées, ça peut faire une archive assez grosse !
adb backup -shared -f shared.ab
permet de sauvegarder tous les fichiers dans /sdcard/ du téléphone, donc tous les trucs persos, y compris les photos, téléchargements etc.Ça fonctionne, on décompresse et on accède à tout, nickel, c'est la fête !
La restauration
Bon, alors on est content ?
ouais, ouais, pas vraiment, parce qu'une fois le téléphone remis à zéro et Lineage OS installé, on réalise que
adb restore fichier.ab
, bien qu'apparaissant fonctionner sans la moindre erreur, ne fonctionne pas. Aucune appli d'installée, quedalle…Stress, tension, agacement, Qwant, DuckDuckGo, Tonton Roger et même Google sont mis à contribution pour trouver une solution.
En fait, là encore ce n'est pas tout à fait, en regardant sur le système on voit que les fichiers contenus dans l'archive sont bien dans le téléphone ! Y compris le base.apk au bon endroit. Mais l'appli elle-même n'est pas installée.
La solution est assez simple : extraire le base.apk de l'archive, faire un
adb install base.apk
puis faire le adb restore.On installe l'application, puis on restaure les données.
Et ça marche !
Ouf…
Pour info, voici un script shell permettant d'automatiser la restauration d'une application sauvegardée.
On considère que Orgzly (par exemple), de son petit nom com.orgzly, est sauvegardée dans le fichier com.orgzly.ab
Il suffit ensuite de faire
adbrestore /path/to/com.orgzly.ab
ou mêmeadbrestore com.orgzly
dans le bon répertoire.Le code :
Voilà, c'est amusant tout ça non ?
On se marre avec Android, surtout le côté user-friendly de la remise à zéro complète pour installer un nouvel OS ^
Cela dit, et plus sérieusement, Lineage OS fonctionne très bien, j'ai un peu l'impression d'avoir acheté un nouveau téléphone tout neuf sans dépenser un centime !
Et j'aurai des mises à jour en plus :)
Et maintenant que je suis rooté, hop, j'installe un Linux dessus, et je fais le con en ssh.
Note sur les Google Apps
La méthode de sauvegarde/restauration des applications fonctionne aussi avec les applications achetées, et elles fonctionnent sans problème après restauration, malgré l'absence des Google Apps, et donc a priori de tout moyen de vérifier qu'elles ont été achetées.
Je peux donc rejouer à Majesty sur mon écran microbien.
Par ailleurs, je n'ai encore croisé aucune application se plaignant réellement de l'absence des Google Apps.
Certes, je n'ai jamais utilisé énormément d'applis proprio de la mort, banque, assurance, Trello pour le boulot, WhatsApp pour la famille, SNCF pour les trains.
Trello par exemple crie qu'il ne va pas fonctionner parce que notre téléphone n'est pas compatible avec les Google Apps, que c'est trop affreux, c'est la fin des haricots, mais une fois qu'on a cliqué sur "Ouais, OK, tais-toi", ça a l'air de fonctionner parfaitement normalement. Pas impossible qu'il manque genre les notifications en temps réel, un truc du genre, à voir à l'usage, mais l'accès aux tableaux fonctionne normalement. Même mieux que sous l'ancien Cyanogen OS où l'appli buggait un peu.
Le Yalp Store fonctionne au poil, permet les mises à jour en tâche de fond si on veut avec l'accès root, ou à la mode fdroid, il liste les mises à jour et on les fait à la main.
On pourrait même l'utiliser avec ses propres identifiants Google pour installer les applications achetées, donc même de ce côté là, rien de perdu, et même rien d'inaccessible par rapport à un téléphone bloaté et google-apps-ifié !
Voilà, voilà, pour ceux qui hésitent et se posent des questions, j'espère que vous trouverez des réponses là-dedans.
N'hésitez pas à poser d'autres questions !
Yth.
[^] # Re: Idem ici
Posté par Yth (Mastodon) . En réponse au journal LineageOS. Évalué à 10.
Soit tu généralises à partir d'un cas particulier.
Soit tu fais semblant de ne pas comprendre.
Parce que tu sais très bien que régulièrement, avec ce genre de syntaxe inventée sur le vif, on ne sait pas ce que la personne a voulut écrire.
Parfois on hésite entre une chose et son exact contraire, parce que c'est trop mal écrit.
Maintenant, tu traînes depuis longtemps. Je traîne depuis encore plus longtemps.
Et donc tu sais aussi que je ne fais jamais de remarque sur des détails, des fautes d'orthographe isolées, ou de grammaire sans conséquence.
C'es toi qui parle de « grammar nazi » en essayant d'atteindre le point Godwin, en bon troll, mais tu ne t'adresses pas à moi, je n'entre pas dans la définition.
En plus, je suis le premier à faire des néologisme, ou plutôt en général des barbarismes, j'approuve la licence prosaïque (et poétique aussi, mais ce n'est pas le sujet).
Mais il y a un juste milieu entre écrire à la perfection (est-ce que ça existe ?) ou le faire en langage SMS.
Et ici on parle justement de ce milieu, de la frontière, très loin de la rigidité, très loin aussi du n'importe quoi.
On parle de l'écriture inclusive, ou comment trouver une bonne solution pour que notre langue soit moins sexiste. Donc on parle vraiment de changer les usages, si ce n'est la langue.
Et je t'affirme que pour trouver une bonne manière de changer la langue, ou les usages, il vaut vraiment mieux bien la connaître la langue.
Ne serait-ce que pour ne pas réinventer la roue (auteure quand autrice est grammaticalement correct et utilisé depuis des siècles, pour ne citer qu'un unique exemple).
Et aussi pour comprendre pourquoi certaines idées sont de fausses bonnes idées.
Développeureuse, entre dans la catégorie des fausses bonnes idées, ça ne marche ni à l'écrit ni à l'oral, et peut aisément faire passer un message qui n'a strictement rien à voir (développeuse peureuse), chose qui a une réelle importance si on cherche réellement à changer la langue ou même les usages.
Maintenant, la solution je ne l'ai pas. J'aurais écrit certainement développeuses et développeurs, ou cherché un autre neutre (les personnes en charge du développement ?), qui est inclusif tout en étant grammaticalement correct. Mais c'est mon avis, parce que je ne crois pas qu'on ait encore trouvé la bonne solution pour l'écriture inclusive (le point ? bof, inventer des mots mascuminins ? Mouaife…).
Yth.
[^] # Re: Idem ici
Posté par Yth (Mastodon) . En réponse au journal LineageOS. Évalué à 10. Dernière modification le 18 août 2018 à 09:34.
Sauf que le texte est écrit en français classique, c'est juste la police choisie qui est à chier.
Donc le problème n'est pas du tout le même…
Et oui, on arrive toujours à lire des trucs difficiles à lire, en faisant des efforts.
Maintenant c'est la réponse que j'ai fait de nombreuses fois depuis pas mal d'année à tous les gens qui écrivent mal et disent « ouais, mé bon, tant ke le message passe, osef que sa soit mal écrit, on se comprent ! »
En fait non, on ne se comprend pas.
Là il faut juste garder à l'esprit l'intérêt de la langue ici : on essaie de communiquer, des idées, des pensées, des réflexions, les uns les autres.
J'insiste : on cherche à communiquer.
Ce n'est pas un forum de poésie ou d'écriture créative, ce sont des commentaires, permettant le débat d'idée et l'échange de point de vue.
Et pour communiquer correctement, il faut et il suffit de se faire comprendre.
Et si on ne parle pas le même français, les lecteurs peuvent comprendre de travers, voire ne pas comprendre du tout.
Et si ça arrive, alors on n'a pas réussi à communiquer.
Tous les efforts mis dans l'écriture du commentaire ont été vains, c'est triste !
Il est ici l'intérêt de respecter la langue et d'écrire en bon français.
Maintenant, l'écriture inclusive, c'est un autre problème, plus sociologique, et très actuel.
Faire des néologisme type « développeureuse » ça fait vraiment une invention autour de développeuse et peureuse, et pas du tout un truc inclusif. Ça fait néologisme et on cherche ce que l'auteur a voulu écrire, il faut passer par plusieurs étapes pour se dire que ça pourrait être « développeuses et développeurs » (c'est si difficile à écrire deux mots ?).
Comme toujours, la lisibilité, la communication, c'est au final tout ce qui compte.
Ya du travail à faire avant de réussir à supprimer le machisme de nos habitudes de langue :)
Yth.
# 25 ans !
Posté par Yth (Mastodon) . En réponse à la dépêche FreeBSD 11.2. Évalué à 7. Dernière modification le 24 juillet 2018 à 13:55.
NetBSD a sorti sa première version en Avril 1993, il y a donc 25 ans, aussi.
Pour Debian, on attend le 16 Août.
Bref, c'était une belle année pour les OS libres 1993, tout de même !
Yth.
[^] # Re: Ouch...
Posté par Yth (Mastodon) . En réponse au journal Slackware a un quart de siècle !. Évalué à 6.
Débuté Linux en octobre 1999, passé sous Slack avec la sortie de la 7.0 en novembre 1999.
Seule distrib qui faisait fonctionner mon matos bricolé, récupéré à droite à gauche, assemblé au petit bonheur la chance. Saloperie de SiS intégrée qui foirait salement avec Redhat, Debian, Mandrake, Suse, soit rien, soit tout noir, soit le plus commun : d'atroces bugs d'affichages (pixels en vrac, lignes baveuses, "interférences" sur l'écran, résolutions à chier, et autres horreurs)…
Pour toujours la même raison : elle ne sait pas mieux que toi ce que tu veux faire, et donc elle m'a permis de comprendre comment faire.
Et ce n'était pas si difficile.
Et depuis, ça marche :)
Mais c'est normal que tout le monde n'aime pas, c'est même normal qu'il y ait nettement moins d'utilisateurs que sous Ubuntu.
Par contre, quand on aime, et qu'on sait pourquoi on aime, c'est très difficile de composer avec les défauts frustrants d'autres ditribs, qui se mettent sur ton chemin pour te simplifier la vie et te la rendant plus compliquée quand tu sais faire les choses en dessous…
Yth.
[^] # Re: Guide pratique
Posté par Yth (Mastodon) . En réponse au journal Répliquer ses vidéos Peertube − premiers pas. Évalué à 8.
Ben développeuse ça marche très bien…
Ça sonne correct, c'est réglo, c'est propre, ya pas trop de débat là-dessus, non ?
Yth, père plexe…
[^] # Re: Linux est il devenu un truc de vieux ?
Posté par Yth (Mastodon) . En réponse à la dépêche 20 ans de LinuxFr.org. Évalué à 5.
C'est un truc du genre qu'on avait fait.
L'idée c'était de permettre la création d'un fichier nommé "…" dans un répertoire (bon, ça c'est possible sans rien faire), qui liste d'autres répertoires.
Si ce fichier existe, alors toute tentative d'ouverture d'un fichier ou d'exécution d'un programme rajoute la possibilité de chercher parmi les répertoires listés dans le fichier "…".
En gros lancer "commande" va chercher dans le $PATH et si on ne trouve rien, on regarde si on peut exécuter le programme dans les répertoires listés dans le fichier "…".
Faire un open("fichier") va chercher à l'ouvrir dans le répertoire courant, $CWD, et s'il ne le trouve pas, va chercher à l'ouvrir dans les répertoires listés dans le fichier "…", de façon transparente.
Donc « emacs truc.txt » va peut-être éditer un fichier truc.txt complètement ailleurs dans le système !
Sans que ça ne pose le moindre soucis, et sans qu'on puisse faire la différence.
Je laisse le soin à chacun d'imaginer les possibilités infinies de failles de sécurité, de bug, de comportements imprévisibles et de destruction du système complet.
Je m'étais seulement attaché à faire en sorte que ça ne plante pas : gaffe aux boucles infinies, trucs comme ça.
De mémoire, mon code faisait environ 300 lignes, les moins intrusives possible.
Mais quand même à un endroit ultra-sensible du kernel :)
Yth.
[^] # Re: Un lien avec le monde du libre?
Posté par Yth (Mastodon) . En réponse au journal Lecture pour cet été. Évalué à 10. Dernière modification le 09 juillet 2018 à 14:15.
Euh, non, pas du tout…
Il y a à peu près toujours eu des billets concernant la culture en général sur DLFP/LinuxFR, présenter des avis sur des films, ou des livres.
Ça n’a absolument rien de choquant, bien au contraire.
Ça reste assez marginal, logique.
Ça change un peu les idées, tant mieux.
Ça permet de discuter d’autres choses intéressantes avec des gens avec qui on partage un intérêt pour le présent et l’avenir du monde technologique, ce qui permet d’apporter un éclairage souvent moins « grand public » des œuvres dont il est question, et c’est tout aussi intéressant.
De là à accuser l’auteur d’avoir un intérêt financier là-dedans, je trouve que c’est aller très très vite dans l’agression non fondée, non méritée, non voulue.
Yth.
# Vaporware Expert ?
Posté par Yth (Mastodon) . En réponse au sondage pour vous, un logiciel d'intelligence artificielle, c'est quoi ?. Évalué à 10.
Un consensus émergera-t-il ?
L'IA : le Vaporware du XXIè siècle, ou le nouveau nom des systèmes experts ?
Yth :)
[^] # Re: Linux est il devenu un truc de vieux ?
Posté par Yth (Mastodon) . En réponse à la dépêche 20 ans de LinuxFr.org. Évalué à 5.
Probablement pas grand chose.
Bien sûr je partais de zéro et j'ai tout appris sur le tas, aujourd'hui ça serait pareil (codé un driver en 2001, et plus fait de programmation kernel depuis).
Le but reste de trouver où se passe ce que tu veux modifier, de comprendre les structures de données utilisées en interne, et de rajouter ton hook (ou hack ) au bon endroit pour obtenir l'effet voulu.
Pour l'écriture d'un pilote : une bonne doc (il y en a pas mal là-dessus), des pilotes d'exemple, le code de deux trois autres pilotes qui jouent dans la même catégorie, des dizaines de reboot après freeze au chargement du module (mwahaharrrgh…).
Je ne doute pas cependant que les difficultés ne sont plus du tout les mêmes, et que le chemin parcouru sera assez différent, mais les étapes globales restent les mêmes : lire, comprendre, modifier, reproduire.
Et le code de Linux était déjà très agréable à lire il y a 20 ans, je pense que ça n'a pas empiré aujourd'hui. En fait le nombre de contributeurs tend plutôt à prouver que le code reste très accessible, et certainement plus qu'il l'était avant.
S'il y a bien un projet où la lisibilité et la facilité d'un code à être relu et repris par quelqu'un d'autre a une importance capitale - bien plus que la sécurité, pour la pérennité du projet, je pense - c'est le noyau Linux.
Yth.
[^] # Re: Faut juste bien l'appliquer [TM]
Posté par Yth (Mastodon) . En réponse au journal Tectonique de la pâte thermique (Linux Pratique). Évalué à 7.
Faut y croire très fort à la publicité qui te dit qu'une pâte suffisamment chargée d'argent ou de cuivre pour être un bon conducteur thermique, est aussi un bon isolant électrique…
Y croire très très fort…
Yth.
[^] # Re: Souvenirs Souvenirs...
Posté par Yth (Mastodon) . En réponse à la dépêche 20 ans de LinuxFr.org. Évalué à 6.
Un article dans 20 minutes, très sérieux, hier matin : « le sérieux c'était mieux avant. » ils disaient par exemple « Avant, le sérieux c'était sérieux, et les gens faisaient la part des choses, aujourd'hui le sérieux c'est devenu banal. […] un vrai problème sociétal pour notre société au jour d'aujourd'hui […] »
Époustouflant !
Yth.
[^] # Re: Linux est il devenu un truc de vieux ?
Posté par Yth (Mastodon) . En réponse à la dépêche 20 ans de LinuxFr.org. Évalué à 4.
Il y a presque 20 ans, j'ai eu un cours en école d'ingénieur où on a fait de la programmation noyau Linux.
C'était absolument génial :
- se plonger dans un très gros projet, en comprendre une partie des rouages ;
- lire du code, des tonnes de code, et trouver ce qu'on cherche parmi des millions de lignes (grep est devenu mon meilleur ami à l'époque !) ;
- réussir à écrire du code qui fonctionne au milieu de tout ce bazar ;
- ou selon la préférence, réussir à poser une pierre au milieu de cette immense cathédrale ;
- et essayer de le faire dans le style du noyau Linux.
Avec une contrainte supplémentaire que je m'étais ajouté : le faire en un minimum de lignes de code, sans tricher.
Très très formateur !
Et pas si difficile, c'est assez facile (jusqu'à un certain point…) de trouver ce qu'on cherche dans le noyau, le plus difficile ce sont les tests, on manquait de systèmes de virtualisation pratiques, alors ça passait par des reboots intempestifs (à moins que j'utilisais déjà qemu ou bochs ? Plus très sûr).
Yth.
[^] # Re: Que le temps passe vite
Posté par Yth (Mastodon) . En réponse à la dépêche 20 ans de LinuxFr.org. Évalué à 3.
14 ans pour moi.
Je n'ai plus l'impression d'être un newbie par contre :)
Plutôt un vieux con…
Pourtant je suis pas vieux !
Bref…
Yth :)
[^] # Re: Liste non exhaustive
Posté par Yth (Mastodon) . En réponse au sondage Oui j’avoue, ma plus grosse boulette c’est d’avoir :. Évalué à 5.
Oh grave, on dégrise très très vite, et les neurones turbinent à plein régime !
Yth :)
# Microsoft à la barre !
Posté par Yth (Mastodon) . En réponse au lien [Linux Audio] [greffon aeffectx] Steinberg/Yamaha VS petit projet libre, sur Github .... Évalué à 8.
Ah ben ça y est, on voit que Microsoft est aux commandes.
Il y a pléthore de projets qui ont reçu la même lettre, par exemple le projet slackbuilds.org a reçu la même chose, et a reconstruit tout son historique git pour supprimer les headers de Steinberg.
Oui, il faut purger l'historique git des fichiers, sinon ils sont toujours présents !
C'est automatisé, et c'est ce à quoi va ressemble le net après l'adoption de l'article 13 : des filtrages automatiques.
Et une balle dans la tête des projets parce que quelqu'un a écrit une fonction générique et indiqué qu'elle en détenait le copyright, ciblant des dizaines de projets sans aucun lien. Bon, là j'exagère probablement, mais ça n'a rien d'impossible techniquement : une mauvaise « IA » de filtrage, pif paf, des centaines de projets considérés comme enfreignant un copyright à la con, déposé la veille par un emmerdeur.
Sur ce, bonne signature…
[^] # Re: French in the text
Posté par Yth (Mastodon) . En réponse au journal Une victoire pour Framagit. Évalué à 8.
Bof, des études montrent que l'Afrique va dépasser l'Asie en population d'ici 2050 (4,5 à 5 milliards d'habitants), et que le Français va rester la langue secondaire la plus parlée dans le continent, il est possible que le Français devienne le lange la plus parlée dans le monde, devant le Chinois.
Attention : je ne fais pas miens ces chiffres, et je ne trollerai pas dessus, c'est juste pour souligner que faire des plans sur la comète, c'est risquer de la voire s'en Haley très loin de la cible…
Et sinon, avec le Royaume-Unis qui quitte l'Union Européenne, ça laisse assez peu de pays officiellement anglophones :
L'Irlande qui a l'Anglais comme seconde langue officielle (mais bon, c'est la langue maternelle majoritaire et l'Irlandais semble voué à rejoindre le Breton).
Malte, qui a l'anglais comme seconde langue officielle, pour le coup absolument pas prêt de supplanter le Maltais.
Donc zéro pays avec l'anglais comme première langue.
Difficile alors politiquement de dire « tous vers l'anglais, 100% anglais, toyoyo ! ».
Et franchement, pour des noms de variable, ma façon de faire à toujours été d'être le plus accessible possible auprès de l'équipe et des collègues. Quand la plupart des gens ont un anglais très approximatif (et faut pas se leurrer, bien des Français ont déjà un français approximatif, alors ne parlons pas de l'anglais par pitié !), si tu veux que les gens avec qui tu bosses te comprennent, évite les termes alambiqués en anglais, et garde un bon vieux français simple et clair.
À mon sens, le problème ne se pose qu'à partir du moment où un projet prend effectivement une dimension internationale, et commence à grossir. Il vaut mieux définir à ce moment là une politique claire sur la langue, la convention de nommage etc, et nettoyer le code. Avant, ça n'a pas vraiment d'intérêt.
Le cas OpenOffice/LibreOffice est un cas d'école d'attente trop longue avant de faire ce choix.
Probablement lié au fait que StarOffice était propriétaire, donc entièrement lié à des équipes allemandes, qui bossaient entre elles, jusqu'à atteindre déjà une taille énorme.
Bref, trollons, trollons, mais chacun codera bien comme il voudra, ce n'est pas appliquer un sed bien travaillé sur les sources pour angliciser d'un seul coup tout les noms de variables qui va tuer l'avenir du projet.
Yth.
# Orgzly : Org-Mode sous Android
Posté par Yth (Mastodon) . En réponse au journal Le markdown, sous Emacs, et plus largement sous Linux. Évalué à 3.
Pour l'org-mode sous Android, en logiciel libre, il y a orgzly, vraiment sympa à utiliser, en liste de tâches, prise de notes, etc.
Il ne gère pas toute la syntaxe org-mode (pas les tableaux par exemple), et ne sert pas vraiment à éditer du texte pour le mettre en forme derrière. Il sert plutôt sur l'autre aspect de l'org-mode, l'organisation etc. C'est facile de gérer des propriétés diverses, des dates limites, des trucs comme ça.
Bref, à découvrir pour ceux qui aiment l'org-mode !
Yth.
[^] # Re: Raaaah! Trop tard, je replonge!
Posté par Yth (Mastodon) . En réponse à la dépêche Sortie de « La bataille pour Wesnoth » 1.14. Évalué à 5.
Ils ont ajouté une option indispensable pour éviter le rage-reload d'ailleurs.
Le générateur aléatoire est déterministe (optionnellement !) et donc recharger la sauvegarde ne change pas l'avenir !
J'ai achevé des missions difficiles comme ça il y a pas mal de temps (8-10 ans quand même), parce que je ne voulais pas recommencer le scénar pour mieux le jouer.
Cela dit, l'aléatoire est super frustrant quand toutes les probabilités sont vers une victoire éclatante et qu'on se retrouve à perdre son unité sans blesser l'ennemi…
Mais sinon, j'adorais le jeu il y a dix ans, j'y reviens de temps en temps, et là c'est l'occase de replonger salement, fichtre mon chiffre d'affaire va prendre du plomb dans l'aile ;)
Yth.
[^] # Re: Interface framework Qt ??
Posté par Yth (Mastodon) . En réponse à la dépêche GIMP 2.10 roule au GEGL. Évalué à 3.
J'ai un pote qui changeait de casserole parce que l'ancienne était sale…
Yth ^
[^] # Re: Dépôts touffus...
Posté par Yth (Mastodon) . En réponse à la dépêche Communecter — Outiller et fédérer les initiatives locales. Évalué à 3.
Désolé pour le temps de réponse, j'étais en vacances, et après le boulot m'a rattrapé :)
Le sujet m'intéresse toujours…
Là je vois l'outil comme un moyen de gérer des communautés locales existantes. Un appuis informatique pour simplifier à la fois l'accès à l'information et aussi la communication pour des groupes d'associations, commerçants, entreprises, à un niveau local.
Ce que j'ai vu dans le projet en lisant cette dépêche et en allant sur les sites, c'est la possibilité d'essayer de répertorier les activités dans mon coin, pour présenter facilement un peu tout ce qui existe, la fois en artisans, commerces, entreprises, associations, évènements, etc.
Et bien sûr, point le plus important, sans passer par des bousins atroces, inutilisables, et "monnaiecratiques" à la facebook ou google (ie des trucs où tu es plus visible si tu payes).
Ça, ça m'intéresse !
En fait j'espérais un truc du genre, d'où mon intérêt pour monter une instance locale.
Dans mon idée, j'installais un communecter dans mon coin, j'invitais tout le monde à le paramétrer (artisans, assoces, etc, qui veut, en poussant les gens pour faire effet boule de neige). Et si par la magie des systèmes décentralisés, on peut rechercher plus loin, et par exemple basculer sur un autre communecter de la grosse-ville d'à côté en suivant le résultat d'une recherche élargie, c'est le top du top !
Pourquoi ?
Ben ça donne plus l'impression d'avoir notre outil local, on se sent plus crédible pour en faire la promotion.
Et puis les gens aiment bien les initiatives locales, qui ne vont pas inclure le monde entier, ça leur permet d'avoir une vision plus exhaustive de ce qui les intéresse autour d'eux. Dans les outils google on sent qu'on n'est rien, paumé au milieu de tout, et on accepte les informations parcellaires, incomplètes, pas à jour, voire fausse, parce que… bah c'est comme ça, c'est tout.
Il y a aussi la pérennité : la seule condition de survie de l'outil, c'est qu'il soit utilisé, s'il est utilisé, il y aura toujours quelqu'un pour reprendre la main dessus, projet porté par une assoce déjà active par ailleurs, il « suffit » de trouver un nouveau bénévole pour administrer le truc, et même en campagne, avec des petits villages, ça se trouve assez facilement si on y trouve un intérêt.
Pour répondre à Oceatoon aussi, je vois comment on peut se créer son propre territoire, mais le problème immédiat que je vois, c'est qu'on ne peut pas demander à chacun de faire ce paramétrage.
Une instance locale, ou un paramétrage local (avec sous-URL spécifique ?) qui aurait directement un paramétrage localisé sur plusieurs communes, c'est un bon moyen de communiquer localement, et les gens qui débarquent dedans voient directement ce qui les intéresse eux.
Si en plus ils se rendent compte qu'ils peuvent chercher plus loin et trouver des choses, c'est le top :)
Alors soit en paramétrage spécifique d'une instance centrale (mais je ne suis pas fan des solutions centralisées) soit un réseau d'instances capables de « passer » de l'une à l'autre en suivant des recherches.
J'ai conscience que ça reste assez flou, et je vois déjà pas mal de problèmes techniques pas simples à résoudre, mais j'aime l'idée :)
Peut-être une base commune, répliquée, avec les éléments cherchables, un minimum d'info (juste le nom, et une catégorie, par exemple) et l'instance sur laquelle se trouvent les infos, et la recherche permet de faire une requête sur l'instance d'à côté pour avoir des infos détaillées, avec un cache local pour ne pas refaire plein de fois la même requête d'instance à instance.
Bref, j'ai l'impression que des choses existent et vont dans la direction qui m'intéresse, reste à voir ce qu'il manque, si je peux aider un peu aussi, et réussir à construire quelque chose dans mon coin :)
Yth.