A priori, si j'ai bien compris, dans un MVC, tu affiches une vue qui va récupérer ses données dans le modèle. Quand tu cliques sur un bouton, le contrôleur est appelé pour modifier les données puis la vue.
Par contre, si tu changes tes données par un autre canal, la vue n'a a priori pas de raison d'être prévenue et donc de changer.
Au contraire, avec ce modèle, la vue est un affichage réactif des données. Si elles sont changées (par une une action comme un clic ou toute autre façon), la vue est censée être mise à jour de façon automatique (comme si tu « filmais » en permanence tes données).
[note : je ne suis pas développeur web mais le fait est que je doive développer des outils métiers avec une interface web]
Personnellement, je suis parti sur du Django avec du scss (maintenant bootstrap4, scss et django-pipeline), quasiment rien en JS et des websockets pour faire le maximum côté serveur.
Je clique sur un bouton qui doit faire apparaître une fenêtre modale ? le clic envoie un signal au serveur via le websocket, le serveur génère le HTML du popup et envoie au client le signal « afficher la fenêtre modale avec le contenu fourni ».
Côté client, j'ai quelques signaux inspirés de jQuery (ajouter/modifier/supprimer du HTML sur un sélecteur CSS, ajouter/supprimer des classes CSS, afficher une fenêtre modale, etc.) qui sont génériques et codés une bonne fois pour toute.
Toute l'intelligence est donc côté serveur, en Python, et exécutés dans des processus différents (un processus pour les interactions rapides comme ci-dessus, un ou plusieurs pour les tâches plus lourdes, etc.).
Ça me permet de faire des pages avec pas mal d'interactions dynamiques sans écrire la moindre ligne de JS (ou presque).
Je continue à l'utiliser pour pas mal de choses (notamment la génération d'étiquettes, en effet), même si j'ai dû l'abandonner pour les rapports qui sont rédigés en Markdown à cause de la mise en forme du résultat (notamment la gestion des notes de bas de page qui était critique). Du coup, j'ai fait un convertisseur Markdown vers LaTeX.
Le même que foutre une partition D: pour les données utilisateur? Autrement dit, permettre un réinstallation simple du système sans avoir à exporter les profils un par un?
Comme macOS, Windows peut tout à fait être réinstallé sans effacer les données utilisateur (contrairement aux distribs Linux que j'ai essayées).
Accessoirement, je ne vois pas trop l'intérêt de vouloir réinstaller le système sans avoir à restaurer les données. N'as-tu donc pas de sauvegarde ?
Techniquement, oui, c'était possible. Il fallait pour cela installer 2 windows, un principal, et un autre qui ait pour seul objectif de manipuler le schéma de partitions du windows cible. Ça à changé?
Si me souviens bien, je l'ai fait sur un Windows XP (qui a déjà 17 ans), sans passer par un second Windows (mais en créant un utilisateur intermédiaire, si ne me trompe pas).
Faux. Tu peux juste définir un point de montage, ça marche comme sous *nix/nux en fait, mais c'est caché, reservé aux experts…
Sauf qu'en pratique, ton partitionnement ne sera jamais parfait et tu risques fortement d'être à court de place sur une des partitions et avoir trop de place disponible sur les autres. Ça m'est arrivé sur la plupart des systèmes multi-partition que j'ai utilisés, en tout cas.
Ensuite, la séparation lors de l'installation des partions qui incluent les données utilisateurs des données système.
Quel est l'avantage concret ? Ça me semble potentiellement compliquer beaucoup l'utilisation quotidienne vu que ça ne sera jamais dimensionné correctement pour l'utilisateur lambda.
Quant à l'expert qui y tient absolument, c'est toujours possible de le faire.
Posté par flan (site web personnel) .
En réponse au journal KDE is dying.
Évalué à 4.
Dernière modification le 06 novembre 2018 à 19:06.
Je ne comprends toujours pas le message précédent.
Les habilitations sont pour les personnes.
Les systèmes d'informations, eux, seront classifiés, comme les informations elles-mêmes. Quant aux logiciels et matériels, ils ne sont ni habilités, ni classifiés (je parle de logiciels publics, là) mais éventuellement qualifiés par l'ANSSI. Je ne vois pas trop non plus à quoi correspondent les « postes basés sur ce qu'a monté l'ANS[S]I ». L'ANSSI propose bien CLIP (basée sur Gentoo), mais ça n'a rien d'obligatoire.
J'ai un peu du mal à comprendre ta dernière phrase. Pour moi, une habilitation correspond à la possibilité d'une personne d'accéder à des informations classifiées. Je ne vois pas bien en quoi elle pourrait demander quoique ce soit, et encore moins un poste basé sur ce qu'a monté l'ANSI (American National Standards Institute).
Deprecated signifie justement « obsolète » d'après Google, Reverso et Linguee, au mieux dénigré selon Collins ou WordReference. Dur d'y voir quelque chose de très positif ;)
Beaucoup de virus et failles (malwares serait plus juste, en fait) ciblent essentiellement des gens pas très doués en informatique.
Toujours une simple question de rentabilité : ils sont suffisamment nombreux. En pratique, ceux-ci sont d'abord sous Windows.
Si on s'intéresse aux serveurs, je pense qu'il faudrait plutôt regarder les malwares qui ciblent Wordpress et autres sites du même genre. Sinon, il y a les défauts de sécurité évidents (mots de passe faibles ou inexistants) qui sont apparemment largement utilisés (suffit de voir les connexions SSH qu'on se récupère sur n'importe quel serveur connecté à internet).
Cela ne concerne pas les destinataires mais toute personne autre ayant accès au courrier (comme un facteur ou un opérateur télécom).
D’aileurs l’article parle des correspondances adressées à des tiers.
C'est possible que soit aussi sécurisé qu'une solution pourrie (bon, ok, je suis un peu méchant).
Mais tu ne pourras jamais faire accepter le principe à quelqu'un qui veut une solution RGS*/**.
On peut accepter un concept permettant qu'un utilisateur imprudent puisse se faire voler sa clef. Par contre, un concept où tous les utilisateurs (prudents ou non) peuvent se faire voler leur identité par un admin aura normalement du mal à convaincre.
De toute façon tu as toujours le droit de diffuser un message personnel qui t’est destiné. Cela n’empêche pas bien sûr d’être courtois et de demander la permission.
Oui, bien sûr, il y a malheureusement des failles, mais on doit partir du principe que les clefs privées ne peuvent pas être extraites quand on conçoit le système (en particulier, on ne peut pas supposer que les clefs privées de signature1 d'un utilisateur sont sur un serveur).
1: en revanche, les clefs de chiffrement devraient être séquestrées.
Si tu veux dire par "le certificat du signeur doit être installé sur le serveur" que la clef privée du signeur se trouve également sur le serveur, la signature du client n'a plus aucune validité.
Pour que la signature du client ait un intérêt, il ne faut pas que la clef privée quitte sa carte à puce (ce qui est normalement impossible, de toute façon).
Les difficultés du RGS sont aussi beaucoup au niveau de l'organisationnel, mais c'est nécessaire pour avoir des garanties sur le fait qu'un admin ne puisse pas générer des clefs de signature supplémentaires pour imiter la signature d'une personne.
Peut-être parce que le blanc et le noir sont les deux contraires les plus basiques, associés à la dualité jour (positif, symbole de la vie) / nuit (négatif, symbole de la mort).
Ça n’a très probablement rien à voir avec des histoires de race…
C'est d'ailleurs pour ça que je suis autant agacé par ces soucis. Certes, ils sont mineurs (on les contourne quand même assez facilement), mais je trouve vraiment dommage qu'ils ne soient pas corrigés alors qu'ils peuvent rebuter de nouveaux venus (en pratique, je les rencontre à la mise en place de nouveaux environnements de développement, mais une fois que tout est en place, ça tourne comme une horloge) et que les solutions techniques sont assez simples.
Accessoirement, quand tu expliques la mise en place des outils de développement à un débutant Python, tu essaies d'expliquer les grandes lignes… et tu te retrouves à expliquer ces problèmes qui mettent en jeu des points assez obscurs.
Un peu comme si tu devais faire des apartés sur les nombres imaginaires dans une explication sur l'addition des nombres entiers : ça casse pas mal la fluidité de l'explication. Oui, ça sent le vécu ^
En revanche, je suis bien conscient que les corrections peuvent être lourdes dans la mesure où ça casse la comptabilité (mais bon, le passage à Python3 aurait pu être le prétexte à un nettoyage… peut-être pour Py4 ?)
C'est vrai qu'on pourrait se poser la question :D
Mais pour moi, c'est clairement de Python.
Quand tu fais découvrir l'écosystème Python à quelqu'un et que tu l'aides à mettre en place son environnement de dév' (notamment sur des systèmes non directement connectés à internet), l'effet n'est vraiment pas terrible quand :
- pip install va déclencher des setuptools install qui vont foirer
- pip install ne fonctionne pas parce que problème TLS et il faut faire un curl […] | bash
- pip install ne fonctionne pas mais python -m pip install fonctionne
- pip install ne fonctionne pas mais si tu relances juste après à l'identique, ça fonctionne
- pip install toto --upgrade va mettre à jour toutes les dépendances, même celles que tu ne veux pas
- …
alors que théoriquement, tout aurait pu fonctionner avec le premier « pip install » s'il n'y avait eu aucun conflit de version et que pip et setuptools utilisaient la même config de miroir.
À l'instant, sur une Ubuntu 18.04 fraîchement installée, voilà ce que ça donne :
$ sudo pip3 install XXXXXX --upgrade
Traceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
from pip import main
ImportError: cannot import name 'main'
$ sudo python3 -m pip install XXXXXX --upgrade
......
Successfully installed XXXXXX-1.1.2
Honnêtement, je trouve que ce genre de soucis ne donnent pas une bonne image du langage.
[^] # Re: Pas compris ce qu'étais le pattern flux/Vuex
Posté par flan (site web personnel) . En réponse au journal 8 mois avec Javascript (ES6) et vue.js : mon retour d'expérience du développement front en 2018. Évalué à 5.
A priori, si j'ai bien compris, dans un MVC, tu affiches une vue qui va récupérer ses données dans le modèle. Quand tu cliques sur un bouton, le contrôleur est appelé pour modifier les données puis la vue.
Par contre, si tu changes tes données par un autre canal, la vue n'a a priori pas de raison d'être prévenue et donc de changer.
Au contraire, avec ce modèle, la vue est un affichage réactif des données. Si elles sont changées (par une une action comme un clic ou toute autre façon), la vue est censée être mise à jour de façon automatique (comme si tu « filmais » en permanence tes données).
[^] # Re: compilation
Posté par flan (site web personnel) . En réponse au journal 8 mois avec Javascript (ES6) et vue.js : mon retour d'expérience du développement front en 2018. Évalué à 7.
[note : je ne suis pas développeur web mais le fait est que je doive développer des outils métiers avec une interface web]
Personnellement, je suis parti sur du Django avec du scss (maintenant bootstrap4, scss et django-pipeline), quasiment rien en JS et des websockets pour faire le maximum côté serveur.
Je clique sur un bouton qui doit faire apparaître une fenêtre modale ? le clic envoie un signal au serveur via le websocket, le serveur génère le HTML du popup et envoie au client le signal « afficher la fenêtre modale avec le contenu fourni ».
Côté client, j'ai quelques signaux inspirés de jQuery (ajouter/modifier/supprimer du HTML sur un sélecteur CSS, ajouter/supprimer des classes CSS, afficher une fenêtre modale, etc.) qui sont génériques et codés une bonne fois pour toute.
Toute l'intelligence est donc côté serveur, en Python, et exécutés dans des processus différents (un processus pour les interactions rapides comme ci-dessus, un ou plusieurs pour les tâches plus lourdes, etc.).
Ça me permet de faire des pages avec pas mal d'interactions dynamiques sans écrire la moindre ligne de JS (ou presque).
[^] # Re: Bravo !
Posté par flan (site web personnel) . En réponse au journal Première version stable pour WeasyPrint. Évalué à 4.
Tout pareil !
Je continue à l'utiliser pour pas mal de choses (notamment la génération d'étiquettes, en effet), même si j'ai dû l'abandonner pour les rapports qui sont rédigés en Markdown à cause de la mise en forme du résultat (notamment la gestion des notes de bas de page qui était critique). Du coup, j'ai fait un convertisseur Markdown vers LaTeX.
[^] # Re: systemd32.exe
Posté par flan (site web personnel) . En réponse au journal [HS] Microsoft ♥ Linux - Episode IV L'attaque des clones. Évalué à 0.
C'est vrai que c'est tellement plus simple de faire ça que de ne pas cocher la case « tout effacer » lors de l'installation de macOS ou Windows !
[^] # Re: systemd32.exe
Posté par flan (site web personnel) . En réponse au journal [HS] Microsoft ♥ Linux - Episode IV L'attaque des clones. Évalué à -3. Dernière modification le 08 novembre 2018 à 19:20.
Comme macOS, Windows peut tout à fait être réinstallé sans effacer les données utilisateur (contrairement aux distribs Linux que j'ai essayées).
Accessoirement, je ne vois pas trop l'intérêt de vouloir réinstaller le système sans avoir à restaurer les données. N'as-tu donc pas de sauvegarde ?
Si me souviens bien, je l'ai fait sur un Windows XP (qui a déjà 17 ans), sans passer par un second Windows (mais en créant un utilisateur intermédiaire, si ne me trompe pas).
Sauf qu'en pratique, ton partitionnement ne sera jamais parfait et tu risques fortement d'être à court de place sur une des partitions et avoir trop de place disponible sur les autres. Ça m'est arrivé sur la plupart des systèmes multi-partition que j'ai utilisés, en tout cas.
[^] # Re: systemd32.exe
Posté par flan (site web personnel) . En réponse au journal [HS] Microsoft ♥ Linux - Episode IV L'attaque des clones. Évalué à 1.
Quel est l'avantage concret ? Ça me semble potentiellement compliquer beaucoup l'utilisation quotidienne vu que ça ne sera jamais dimensionné correctement pour l'utilisateur lambda.
Quant à l'expert qui y tient absolument, c'est toujours possible de le faire.
[^] # Re: ni chaud ni froid
Posté par flan (site web personnel) . En réponse au journal KDE is dying. Évalué à 4. Dernière modification le 06 novembre 2018 à 19:06.
Je ne comprends toujours pas le message précédent.
Les habilitations sont pour les personnes.
Les systèmes d'informations, eux, seront classifiés, comme les informations elles-mêmes. Quant aux logiciels et matériels, ils ne sont ni habilités, ni classifiés (je parle de logiciels publics, là) mais éventuellement qualifiés par l'ANSSI. Je ne vois pas trop non plus à quoi correspondent les « postes basés sur ce qu'a monté l'ANS[S]I ». L'ANSSI propose bien CLIP (basée sur Gentoo), mais ça n'a rien d'obligatoire.
[^] # Re: ni chaud ni froid
Posté par flan (site web personnel) . En réponse au journal KDE is dying. Évalué à 3.
J'ai un peu du mal à comprendre ta dernière phrase. Pour moi, une habilitation correspond à la possibilité d'une personne d'accéder à des informations classifiées. Je ne vois pas bien en quoi elle pourrait demander quoique ce soit, et encore moins un poste basé sur ce qu'a monté l'ANSI (American National Standards Institute).
[^] # Re: Eh ben non...
Posté par flan (site web personnel) . En réponse au journal KDE is dying. Évalué à 8.
Deprecated signifie justement « obsolète » d'après Google, Reverso et Linguee, au mieux dénigré selon Collins ou WordReference. Dur d'y voir quelque chose de très positif ;)
[^] # Re: Comme par exemple...
Posté par flan (site web personnel) . En réponse au journal Déçu, déçu, déçu. Évalué à 10.
Voire une espace !
[^] # Re: Ca existe
Posté par flan (site web personnel) . En réponse au journal sécurité et MACs. Évalué à 2.
Beaucoup de virus et failles (malwares serait plus juste, en fait) ciblent essentiellement des gens pas très doués en informatique.
Toujours une simple question de rentabilité : ils sont suffisamment nombreux. En pratique, ceux-ci sont d'abord sous Windows.
Si on s'intéresse aux serveurs, je pense qu'il faudrait plutôt regarder les malwares qui ciblent Wordpress et autres sites du même genre. Sinon, il y a les défauts de sécurité évidents (mots de passe faibles ou inexistants) qui sont apparemment largement utilisés (suffit de voir les connexions SSH qu'on se récupère sur n'importe quel serveur connecté à internet).
[^] # Re: Qui affirme que "libre de droit*" n'existe pas en France ? *[s]
Posté par flan (site web personnel) . En réponse au journal les logiciels libres sont libres de droits. Évalué à 2. Dernière modification le 27 septembre 2018 à 18:25.
Cela ne concerne pas les destinataires mais toute personne autre ayant accès au courrier (comme un facteur ou un opérateur télécom).
D’aileurs l’article parle des correspondances adressées à des tiers.
[^] # Re: Titre faux ou je comprends rien?
Posté par flan (site web personnel) . En réponse au journal RGS et open source. Évalué à 2.
C'est possible que soit aussi sécurisé qu'une solution pourrie (bon, ok, je suis un peu méchant).
Mais tu ne pourras jamais faire accepter le principe à quelqu'un qui veut une solution RGS*/**.
On peut accepter un concept permettant qu'un utilisateur imprudent puisse se faire voler sa clef. Par contre, un concept où tous les utilisateurs (prudents ou non) peuvent se faire voler leur identité par un admin aura normalement du mal à convaincre.
[^] # Re: Qui affirme que "libre de droit*" n'existe pas en France ? *[s]
Posté par flan (site web personnel) . En réponse au journal les logiciels libres sont libres de droits. Évalué à 4.
De toute façon tu as toujours le droit de diffuser un message personnel qui t’est destiné. Cela n’empêche pas bien sûr d’être courtois et de demander la permission.
[^] # Re: Titre faux ou je comprends rien?
Posté par flan (site web personnel) . En réponse au journal RGS et open source. Évalué à 2. Dernière modification le 21 septembre 2018 à 20:12.
Oui, bien sûr, il y a malheureusement des failles, mais on doit partir du principe que les clefs privées ne peuvent pas être extraites quand on conçoit le système (en particulier, on ne peut pas supposer que les clefs privées de signature1 d'un utilisateur sont sur un serveur).
1: en revanche, les clefs de chiffrement devraient être séquestrées.
[^] # Re: Titre faux ou je comprends rien?
Posté par flan (site web personnel) . En réponse au journal RGS et open source. Évalué à 2.
Si tu veux dire par "le certificat du signeur doit être installé sur le serveur" que la clef privée du signeur se trouve également sur le serveur, la signature du client n'a plus aucune validité.
Pour que la signature du client ait un intérêt, il ne faut pas que la clef privée quitte sa carte à puce (ce qui est normalement impossible, de toute façon).
[^] # Re: Titre faux ou je comprends rien?
Posté par flan (site web personnel) . En réponse au journal RGS et open source. Évalué à 4.
Les difficultés du RGS sont aussi beaucoup au niveau de l'organisationnel, mais c'est nécessaire pour avoir des garanties sur le fait qu'un admin ne puisse pas générer des clefs de signature supplémentaires pour imiter la signature d'une personne.
[^] # Re: Dommage pour Yocto
Posté par flan (site web personnel) . En réponse au journal L'ANSSI c'est des gentooistes. Évalué à 4.
Yocto date de 2010 environ, soit cinq ans après les débuts de Clip.
[^] # Re: dict et OrderedDict
Posté par flan (site web personnel) . En réponse à la dépêche Sortie de Python 3.7. Évalué à 4.
Sauf que justement je veux installer un outil pour plusieurs utilisateurs et qu’il ne touche pas aux dépendances.
[^] # Re: Qu'est-ce que ça change ?
Posté par flan (site web personnel) . En réponse au journal Terminologie Master/Slave . Évalué à 10.
Peut-être parce que le blanc et le noir sont les deux contraires les plus basiques, associés à la dualité jour (positif, symbole de la vie) / nuit (négatif, symbole de la mort).
Ça n’a très probablement rien à voir avec des histoires de race…
[^] # Re: dict et OrderedDict
Posté par flan (site web personnel) . En réponse à la dépêche Sortie de Python 3.7. Évalué à 7. Dernière modification le 15 septembre 2018 à 19:00.
Ah mais j'aime beaucoup Python également !
C'est d'ailleurs pour ça que je suis autant agacé par ces soucis. Certes, ils sont mineurs (on les contourne quand même assez facilement), mais je trouve vraiment dommage qu'ils ne soient pas corrigés alors qu'ils peuvent rebuter de nouveaux venus (en pratique, je les rencontre à la mise en place de nouveaux environnements de développement, mais une fois que tout est en place, ça tourne comme une horloge) et que les solutions techniques sont assez simples.
Accessoirement, quand tu expliques la mise en place des outils de développement à un débutant Python, tu essaies d'expliquer les grandes lignes… et tu te retrouves à expliquer ces problèmes qui mettent en jeu des points assez obscurs.
Un peu comme si tu devais faire des apartés sur les nombres imaginaires dans une explication sur l'addition des nombres entiers : ça casse pas mal la fluidité de l'explication. Oui, ça sent le vécu ^
En revanche, je suis bien conscient que les corrections peuvent être lourdes dans la mesure où ça casse la comptabilité (mais bon, le passage à Python3 aurait pu être le prétexte à un nettoyage… peut-être pour Py4 ?)
[^] # Re: dict et OrderedDict
Posté par flan (site web personnel) . En réponse à la dépêche Sortie de Python 3.7. Évalué à 5.
C'est vrai qu'on pourrait se poser la question :D
Mais pour moi, c'est clairement de Python.
Quand tu fais découvrir l'écosystème Python à quelqu'un et que tu l'aides à mettre en place son environnement de dév' (notamment sur des systèmes non directement connectés à internet), l'effet n'est vraiment pas terrible quand :
- pip install va déclencher des setuptools install qui vont foirer
- pip install ne fonctionne pas parce que problème TLS et il faut faire un curl […] | bash
- pip install ne fonctionne pas mais python -m pip install fonctionne
- pip install ne fonctionne pas mais si tu relances juste après à l'identique, ça fonctionne
- pip install toto --upgrade va mettre à jour toutes les dépendances, même celles que tu ne veux pas
- …
alors que théoriquement, tout aurait pu fonctionner avec le premier « pip install » s'il n'y avait eu aucun conflit de version et que pip et setuptools utilisaient la même config de miroir.
[^] # Re: Liberté d'expression vs oppression
Posté par flan (site web personnel) . En réponse au journal Terminologie Master/Slave . Évalué à 3.
Ça ne répond pas à la question.
[^] # Re: dict et OrderedDict
Posté par flan (site web personnel) . En réponse à la dépêche Sortie de Python 3.7. Évalué à 3.
À l'instant, sur une Ubuntu 18.04 fraîchement installée, voilà ce que ça donne :
$ sudo pip3 install XXXXXX --upgrade
Traceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
from pip import main
ImportError: cannot import name 'main'
$ sudo python3 -m pip install XXXXXX --upgrade
......
Successfully installed XXXXXX-1.1.2
Honnêtement, je trouve que ce genre de soucis ne donnent pas une bonne image du langage.
[^] # Re: Liberté d'expression vs oppression
Posté par flan (site web personnel) . En réponse au journal Terminologie Master/Slave . Évalué à 8.
Quand je vois maître-esclave sans aucun contexte, je pense d'abord à de l'ordonnancement en informatique.