ǝpɐןƃu∀ nǝıɥʇʇɐW-ǝɹɹǝıԀ a écrit 4607 commentaires

  • [^] # Re: Commentaire sur lyonmag

    Posté par  (site web personnel) . En réponse au lien Lyon : la mairie se sépare des logiciels de Microsoft pour renforcer sa "souveraineté numérique". Évalué à 4.

    Serais-je le seul à avoir du mal à bien distinguer la ligne qui sépare les partis « de droite » de ceux « de gauche » (exemple le CPE de Galouzeau de Villepin, la loi travail d'El Khomri) ?
    Il me semble que cette distinction est souvent très floue pour la bonne raison suivante : les partis politiques dépendent de qui les orientent, et ce ne sont pas les femmes de ménages, ou les livreurs de pizza uberisés qui disposent des moyens (temps, argent…) de faire du lobbying. Autrement dit, pour moi, à mesure que la redistribution provoquée par la grande dépression et les guerres s'est effacée pour une reconcentration de l'argent, au fur donc de cette convergence des richesses dans un nombre de plus en plus réduit de mains, les séparations droites/gauches se sont amenuisées ; surtout dans la pratique effective du pouvoir ; quelques vagues nuances pouvant parfois être plus nettes dans les discours à la veille d'élections. D'où le fait que l'on puisse ergoter sans fin sur ce que sont la droite et la gauche (la terminologie étant ici particulièrement bien choisi, puisqu'au sens propre de ces mots, ça dépend de la direction que vous considérez).
    Toujours est-il que si cette évolution perçue, ce brouillage des lignes intéresse, la chose est bien mieux expliquée et théorisée (assez brièvement pour une fois), dans cet article de C. Doctorow. Ma conclusion personnelle, inutile débattre ou de de s'envoyer des noms d'oiseaux sur le thème droite/gauche. Ça n'avance guère les débats. À tout le moins il faudrait préciser de quelle époque (et lieux éventuellement) il est question, car ces notions évoluent vite.

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • [^] # Re: Linux debian

    Posté par  (site web personnel) . En réponse au message Périphérique carte SD. Évalué à 2.

    Chez moi la boucle

    for root, _, files in os.walk(device):

    descend bien dans les sous répertoires. Aucun problème avec ça.

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • [^] # Re: Linux debian

    Posté par  (site web personnel) . En réponse au message Périphérique carte SD. Évalué à 3.

    Dommage. Et apparemment, ce ne serait pas non plus l'espace dans le nom de périphérique : j'ai tenté chez moi au cas où, mais ça ne pose pas de problème.

    Est-il possible d'ajouter les print() suivant (les lignes terminant par PMA) dans la section du code correspondante :

        for device in devices:
            print(f"Traitement du périphérique: {device}")
            for root, _, files in os.walk(device):
                print(root) #PMA
                for file in files:
                    print("   ",file) #PMA
                    ext = os.path.splitext(file)[1].upper()
                    if ext in FILE_TYPES:
                       print('OK') #PMA

    De faire tourner le script et de nous indiquer le résultat ?

    NB : faites bien attention à l'alignement des instructions dans les boucles. Python est sourcilleux sur ce point.

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • # Meuh non

    Posté par  (site web personnel) . En réponse au lien Trump can pull the plug on the internet, and Europe can't do anything about it. Évalué à 5.

    Avec « SecNumCloud » et toutes les palanquées de certifications « cloud souverain » sorties tout droit du génie visionnaire de nos incroyables dirigeants, nous sommes SOUVERAINS sur le claude. Qu'est-ce que Politico n'a pas compris là dedans :-) ?

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • [^] # Re: Fail2ban ne remplace pas une bonne sécurité

    Posté par  (site web personnel) . En réponse au journal Fail2ban, ajustement des valeurs par defaut. Évalué à 5.

    « […] ssh réponds la même chose que le mot de passe soit faux ou que la connexion par mot de passe soit désactivée […] »

    Pas du tout. Il négocie les protocoles d'identifications possibles entre client et serveur. Si le mot de passe est désactivé, le client ne se voit pas proposer cette méthode, mais uniquement les autres méthodes autorisées.

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • [^] # Re: Formulation formelle

    Posté par  (site web personnel) . En réponse au message programme et algo de tri . Évalué à 7.

    « moui bon choix l'AGPLv3 même si c'est un peu overkill :D »

    Sûre, mais on ne se refait pas. En tant que fonctionnaire j'accepte de travailler gratuitement pour le bien public une part importante de mon temps. Ce fameux bien public est une préoccupation majeure pour moi. Donc logique, chaque fois que l'occasion se présente, de vouloir y ajouter tout et n'importe quoi…

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • [^] # Re: Formulation formelle

    Posté par  (site web personnel) . En réponse au message programme et algo de tri . Évalué à 2.

    PS : plutôt qu'un recuit simulé, mon algorithme fait une trempe ici (un gros bogue dans le recuit). Ça tombe bien : ça donne le résultat optimal plus vite pour un problème simple de ce type. Si jamais le problème se complexifie et qu'il faille la version sans bogue, je l'ai écrite. Il y manque juste de quoi imprimer la configuration optimale atteinte.

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • [^] # Re: Linux debian

    Posté par  (site web personnel) . En réponse au message Périphérique carte SD. Évalué à 4.

    Pouvez-vous :
    — insérer votre carte sd
    — taper dans un terminal : df -h
    — nous communiquer le résultat de cette commande
    — et le résultat du script que vous souhaitez employer ?

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • [^] # Re: ça n'existe pas déjà cet outil ?

    Posté par  (site web personnel) . En réponse au message Périphérique carte SD. Évalué à 5.

    Après ça reste une question purement Linux : pourquoi quand la carte SD est-elle montée, n'apparaît-elle pas dans /mnt/ ou /media/philippe ? Alors que le disque dur, visiblement, oui.

    N'ayant pas d'indications sur la distribution employée, les points de montage, et nom d'utilisateur, je ne vois pas trop comment aider. Mais la question me semble avoir sa place dans ce forum. Après tout, tout le monde ne peut pas être programmeur. Ici, l'auteur de la question a déjà fait (faire) une très grosses parties du boulot, et ne demande quasiment rien en comparaison de sa problématique initale… C'est super. Même si c'est à base de LLM.

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • [^] # Re: Formulation formelle

    Posté par  (site web personnel) . En réponse au message programme et algo de tri . Évalué à 3.

    Au temps pour moi : vous avez posté si vite que le bouton "modifier" était gardé par Gandalf.

    Licence AGPL v3 ou ultérieure.
    Bon, en fait mon code n'a rien d'original qui traduise ma personnalité, etc. Donc fondamentalement je trouve un peu étrange d'y appliquer du droit d'auteur. Mais bon.

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • [^] # Re: Formulation formelle

    Posté par  (site web personnel) . En réponse au message programme et algo de tri . Évalué à 9.

    Le code est en deux parties. Un premier fichier qui me génère une liste d'élèves. Pour vous ça permettra de voir le format des données à produire pour faire tourner le code.

    #!/usr/bin/env python3
    """Ce programme créé une liste (aléatoire) d'élèves qui sera 
    lue par le programme suivant qui optimisera la répartition
    des étudiants en classes.
    INTERET : permet de comprendre comment les données sont
    structurées dans le programme suivant.
    USAGE : Lancer le code suivi du nom du fichier dans lequel les
    données seront écrites. 
    Exemple : python3 createList.py eleves.dat"""
    import sys
    import numpy as np
    nbEleve = 170
    nbLV2Esp = 40
    nbFoot = 15
    def writeEleve(fout,n,sexe,espagnol,foot):
        """Ecrit la liste des élèves dans le descripteur de fichier "fout".
        C'est là qu'il faut faire d'éventuelles modifications pour rajouter 
        des options, etc."""
        fout.write("%7d %4d %7d %5d\n"%(n,sexe,espagnol,foot))
        return n+1
    if __name__ == "__main__":
        try:
            fout = open(sys.argv[1],"w")
        except:
            print("Run this code followed by the name of the file where you intend to write")
            exit()
        fout.write("#Numéro sexe espagnol foot\n") #Commentaire en tête de fichier
        n=0
        nF=0
        nE=0
        """ le fichier est structuré ainsi :
        D'abord les footbaleurs, puis les hispanisant, suivi des autres."""
        while nF < nbFoot :
                   foot = 1
                   espagnol = 0
                   sexe=int(np.random.rand()*2) # donne 0, ou 1 !
                   n=writeEleve(fout,n,sexe,espagnol,foot)
                   nF+=1
        while nE < nbLV2Esp :
                   foot = 0
                   espagnol = 1
                   sexe=int(np.random.rand()*2)
                   n=writeEleve(fout,n,sexe,espagnol,foot)
                   nE+=1               
        while n < nbEleve :
                   foot = 0
                   espagnol = 0
                   sexe=int(np.random.rand()*2)
                   n=writeEleve(fout,n,sexe,espagnol,foot)
        fout.close()

    Voici le code qui applique l'algorithme.

    #!/usr/bin/env python3
    import sys
    import numpy as np
    """ Ce programme consomme une liste d'élèves (en argument) avec leurs options.
    Il les répartis ensuite entre classe en utilisant l'algorithme de 
    Monte-Carlo Metropolis.
    Exemple : python3 metropolis.py eleves.dat
    """
    def readList(fname):
        """ Lis le fichier dont le nom est fname (formaté en colonnes de chiffres)
        et retourne une matrice (de type np.array) dont chaque ligne correspont 
        à un élève et à ses options (0 ou 1 selon que l'option est choisie)."""
        data = np.loadtxt(fname,dtype=int)
        return data
    class classe:
        """Une structure permettant de gérer les classes."""
        def __init__(self,ldata):
            """ création d'une classe vide,
            ldata est la liste complète des élèves du niveau de cette classe."""
            self.nbMembres = 0
            self.nbFemelles = 0
            self.nbMales = 0
            self.nbEspagnoles = 0
            self.nbFoot = 0
            self.listMembres = [] # Liste des identifiants des élèves de la classe
            self.ldata=ldata # Liste de l'ensemble des données sur TOUS les élèves
        def __iadd__(self,ide):
            """ Ajoute l'élève identifié par son numéro ide à la classe """
            self.listMembres.append(self.ldata[ide][0])
            self.nbMembres += 1
            if self.ldata[ide][1] == 0 :
                self.nbFemelles += 1
            else :
                self.nbMales += 1
            self.nbEspagnoles += self.ldata[ide][2]
            self.nbFoot += self.ldata[ide][3]
            return self
        def __isub__(self,ide):
            """ Retire l'élève identifier par son numéro à la classe """
            self.listMembres.remove(self.ldata[ide][0])
            self.nbMembres -= 1
            if self.ldata[ide][1] == 0 :
                self.nbFemelles -= 1
            else :
                self.nbMales -= 1
            self.nbEspagnoles -= self.ldata[ide][2]
            self.nbFoot -= self.ldata[ide][3]
            return self
        """ Deux méthode permettant de décrire la classe """
        def __str__(self):
            s="class nbEleves %d nbFemelles %d nbEspagnoles %d nbFoots %d"%(self.nbMembres,self.nbFemelles,self.nbEspagnoles,self.nbFoot)
            return s
        def __repr(self):
            return self.__str__()
    
    def deplaceEleve(nouvelleClasse,ide,listeClasse,ldata):
        """ Fonction qui déplace un élève d'une classe à une autre : 
        nouvelleClasse et le numéro de la nouvelle classe dans
        listeClasse
        ide est le numéro de l'élève dans ldata """
        if ldata[ide][4] != None : # Vérifie que l'élève avait déjà été affecté à une classe auparavant
            listeClasse[ldata[ide][4]] -= ide
        if nouvelleClasse != None : # Vérifie que l'affectation se fait bien vers une nouvelle classe
            listeClasse[nouvelleClasse] += ide
        ldata[ide][4] = nouvelleClasse
    
    def cout(listeClasse,ldata,nbEsp):
        """ Fonction de cout
        C'est la fonction essentielle du processus. C'est elle qui conditionne 
        la réussite du processus d'affectation. Elle doit augmenter quand un 
        élève n'est pas affecté conformément aux critère choisis. Elle doit 
        décroître quand les critères sont vérifiés.
        Actuellement 5 critères :
        a : les classes doivent toutes avoir le même nombre d'élèves.
        b : autant d'hispanisant dans chacune des classes qui en ont
        c : ceux qui font du foot doivent impérativement être dans la classe 3
        d : les hispanisants sont dans les classes 5 et 6
        e : tous les élèves doivent se voir affecter une classe
        """
        nbE = len(ldata) # nombre d'élèves
        nbC = len(listeClasse) # nombre de classes
        C = 0
        a = 1
        b=0.5
        c=10
        d=4
        e=50
        for i,classe in enumerate(listeClasse):
            ### équilibre des classes
            C += a*(classe.nbMembres-nbE/nbC)**2
            ### foot en classe 3 (#2)
            if i ==2 :
                C -= c*classe.nbFoot
                #print(i,C)
            else :
                C += c*classe.nbFoot
                #print(i,C)
            if i > 3 :
                C -= d*classe.nbEspagnoles
            else :
                C += d*classe.nbEspagnoles
        ### équilibre espagnoles
        C += b * (listeClasse[4].nbEspagnoles-listeClasse[5].nbEspagnoles)**2
        ### élève non affecté
        for i in range(nbE):
            if(ldata[i][4] == None):
                C+= e
        return C
    
    
    def metropolis(lClasses,ldata,nbEsp,oldC,beta):
        # Choisie un élève au hasard, et une classe au hasard,
        # affecte l'élève dans la classe,
        # calcul la fonction de coût,
        # compare à l'ancienne valeure,
        # choisi de valider l'affectation ou de revenir à l'état précédent
        ide = int(np.random.rand()*len(ldata))
        cl =  int(np.random.rand()*len(lClasses))
        #oldCl = len(lClasses)+1
        #if (ldata[ide][4] != None):
        oldCl = ldata[ide][4]
        deplaceEleve(cl,ide,lclasses,ldata)
        nC =  cout(lClasses,ldata,nbEsp)
        p = np.random.rand()
        if np.exp(beta*(nC-oldC)) < p :
            return 1,lClasses,ldata,nC
        else :
            #print("ancien - nouveau",oldC,nC)
            deplaceEleve(oldCl,ide,lclasses,ldata)
            return 0,lClasses,ldata,oldC
    def mainMetropolis(lClasses,ldata,nbEsp,oldC) :
        """ Applique l'algorithme de MC Metropolis
        Nloop fois. Plus l'affection est complexe, plus Nloop doit être grand.
        Si tout va bien, à la fin, les élèves sont affectés dans les classes 
        conformément aux critères."""
        C =  cout(lClasses,ldata,nbEsp)
        # Paramètres de l'algorithme
        beta = 1 # conditionne la distribution de Boltzmann
        Nloop = 10000 # Nombre d'itérations à réaliser
        # Le taux d'acceptation des modifications des classes
        # doit avoisinner les 50 %. En fonction de ce taux (moyenné)
        # le paramètre Beta va être modifié pour faire tendre
        # le taux vers 50%
        accept_min=0.4 
        incr = 1.25
        accept_max=0.6
        decr = 0.8
        accept = 0.5
        mix = 0.95 # Paramètre pour calculer la moyenne glissante exponentielle :-)
        # Plus c'est grand, plus la moyenne est calculée sur un grand nombre
        #de configurations précédentes.
        for i in range(Nloop):
            acc,lClasses,ldata,C = metropolis(lClasses,ldata,nbEsp,C,beta)
            accept = (1-mix)*acc + mix*accept
            if accept < accept_min :
                beta *= incr
            if accept > accept_max :
                beta *= decr
            print(i,accept,C)
        return lClasses,ldata
    if __name__ == "__main__":
        """ Lecture du fichier des élèves """
        try:
            data = readList(sys.argv[1])
        except:
            print("Run this code followed by the name of the file where you intend to read students data")
            exit()
        #print("OK\n ",data)
        ldata = []
        nbEsp = 0
        for e in data :
            le = list(e)
            le.append(None)
            ldata.append(le)
            nbEsp += e[2]
        #print(ldata)
        ##############
        ### create classes 
        C0 = classe(ldata)
        C1 = classe(ldata)
        C2 = classe(ldata)
        C3 = classe(ldata)
        C4 = classe(ldata)
        C5 = classe(ldata)
        print(C0)
        lclasses=[C0,C1,C2,C3,C4,C5]
        ###############
        ### Affectation manuelle d'élèves dans des classes
        ### Ici j'ai fait n'importe quoi, meilleur est
        ### l'état initial, plus rapide sera le succès final.
        print(lclasses[1])
        deplaceEleve(2,0,lclasses,ldata)
        deplaceEleve(2,1,lclasses,ldata)
        deplaceEleve(2,1,lclasses,ldata)
        deplaceEleve(2,3,lclasses,ldata)
        print(ldata[:5])
        C = cout(lclasses,ldata,nbEsp)
        print(C)
        deplaceEleve(2,2,lclasses,ldata)
        deplaceEleve(2,4,lclasses,ldata)
        deplaceEleve(2,5,lclasses,ldata)
        deplaceEleve(2,6,lclasses,ldata)
        C = cout(lclasses,ldata,nbEsp)
        print(C)   
        deplaceEleve(2,7,lclasses,ldata)
        deplaceEleve(2,8,lclasses,ldata)
        deplaceEleve(2,9,lclasses,ldata)
        deplaceEleve(2,10,lclasses,ldata)
        deplaceEleve(1,16,lclasses,ldata)
        deplaceEleve(1,17,lclasses,ldata)
        deplaceEleve(1,18,lclasses,ldata)
        deplaceEleve(1,19,lclasses,ldata)
        C = cout(lclasses,ldata,nbEsp)
        print(C)  
        #############
        ### OPtimisation
        mainMetropolis(lclasses,ldata,nbEsp,C)
        ### C'est fini
        for classe in lclasses:
            print(classe)
            # On peut rajouter une méthode dans "classe"
            # pour imprimer plus de détails. Par exemple la liste
            # des élèves de la classe.

    J'ai essayé d'ajouter beaucoup de commentaires pour aider… J'espère que ça sera suffisant car mon code est assez brouillon.

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • [^] # Re: Formulation formelle

    Posté par  (site web personnel) . En réponse au message programme et algo de tri . Évalué à 8.

    Avec la canicule, je n'étais pas motivé pour travailler. J'ai donc écris le code selon vos spécifications. C'est un peu brouillon. Mais ça marche parfaitement. À ceci prêt que la contrainte sur les options n'étant pas explicite, il n'était pas possible de l'appliquer ; mais équilibrer les classes par sexe, répartir les hispanisants, et placer les footeux, là, pas de problèmes, l'algorithme de Metropolis fonctionne comme un charme. Avec 170 élèves, il faut moins de mille itérations pour atteindre une répartition optimale sur 6 classes. Si le code vous intéresse…

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • [^] # Re: Formulation formelle

    Posté par  (site web personnel) . En réponse au message programme et algo de tri . Évalué à 7.

    Vu le petit nombre d'élève un tout petit code stochastique ne pourrait-il pas faire l'affaire ?

    • Définir une fonction de coût qui atteint sa valeur min quand toutes les contraintes sont vérifiées ;
    • initialiser la distribution des élèves au hasard ;
    • un très grand nombre de fois ;
      • sélectionner un élève au hasard et le placer dans une classe ;
      • accepter la proposition si elle réduit la fonction de coût, ou si elle vérifie un critère de probabilité (type distribution de Bolzmann) ;
    • Faire baisser progressivement la tolérance du second critère jusqu'à ce que la distribution des élèves ne varie plus.
    • Éventuellement recommencer plusieurs fois pour obtenir plusieurs solutions.

    NB : ce que je viens de décrire est un algorithme de recuit-simulé dit Monte-Carlo Metropolis ; à peu prêt la première idée qui viendrait à tout physicien pour résoudre ce genre de problème, et l'une seulement des très nombreuses méthodes qui devraient vous permettre de résoudre facilement un tel problème, au prix d'un peu de programmation, de la définition d'une fonction de coût appropriée. Si vous avez besoin d'aide, y a qu'à demander…

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • # TLDR

    Posté par  (site web personnel) . En réponse au lien Trusting your own judgement on ‘AI’ is a huge risk. Évalué à 4.

    Du même auteur, même argumentation en 500 mots. J'aurais préféré commencé par là, vu que de toute façon cet article active toutes mes alarmes quant à mes propres biais de confirmation :-).

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • # Batterie emblématique

    Posté par  (site web personnel) . En réponse au lien Smartphones, tablettes : l’étiquette énergie et l’écoconception entrent en application. Évalué à 9.

    Jadis — il y a environ 10 ans peut-être — les batteries étaient considérées comme des pièces d’usure. Il était aisé de les changer ; généralement sans outils. Le nouveau règlement prévoient que toutes les pièces soient facilement manipulables pour réparation — ce qui parait une gageur étant donné le niveau d’intégration des bousins — sauf la batterie. Allez comprendre. Le fameux intérêt des industriels que déplorent certaines associations ?

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • [^] # Re: La réalité

    Posté par  (site web personnel) . En réponse au lien Sam Altman veut qu’une « fraction significative » de l’énergie produite sur Terre soit dédiée à l’IA. Évalué à 5.

    La Terre devrait facilement encaisser même un hiver nucléaire qui balaierait toute vie à sa surface, et ferait ressembler Mars à un paradis touristique par comparaison. Pour la bio sphère et en particulier la megafaune, c’est certainement bien différent.

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • [^] # Re: Bof

    Posté par  (site web personnel) . En réponse au journal [HS] La comédie Grok versus Musk/MAGA. Évalué à 3.

    Grok applique la même stratégie marketing que Trump. Dix coups délirants, un raisonnable. Et sur celui-là, tous sont, ébahis…

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • # Bof

    Posté par  (site web personnel) . En réponse au journal [HS] La comédie Grok versus Musk/MAGA. Évalué à 6.

    Un coup, le truc débite des non sens haineux, on dit, normal c’est un IA, donc le QI du néo-nazis moyen ; le suivant ça balance ses quatre vérités au grand sorcier, devrait-on s’esbaudir que l’IA aurait progressé jusqu’au niveau d’un anti-fas ? Elle a grok ?

    Trêve de plaisanterie. Hormis le côté truculent, rien de bien nouveau dans ses répliques. Si ?

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • [^] # Re: Contexte perfectible

    Posté par  (site web personnel) . En réponse au journal Pétition pour interdire le vote électronique en France. Évalué à 3.

    Tout à fait d'accord. Qui plus est, je crains qu'outre les fotte d'aurtografz, cette partie du texte puisse rendre la pétition nulle et non avenue. La procédure décrite est-elle seulement conforme à la législation en vigueur ?

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • [^] # Re: non.

    Posté par  (site web personnel) . En réponse au lien Social - Pour ou contre l'individualisme? Le débat sur la retraite par capitalisation relancé . Évalué à 4.

    Si seulement les fans de propagande de chaînes d’infos/x continue pouvaient vous lire…

    Une petite nuance toutefois :

    « Avec le risque évidemment porté par ces capitaliseurs. »

    Il me semble que les items que vous listez soient bien compris par les promoteurs de la capitalisation, non comme un risque, mais comme raisons fondamentales de ce rabâchage forcené. Le gros inconvénient d’une répartition directe, c’est que la caisse à piller est minimale avec un risque accru.

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • [^] # Re: Fond versus forme

    Posté par  (site web personnel) . En réponse au lien Selon l'hebdomaire libéral The Economist, la course à l’industrialisation est un mirage. Évalué à 4.

    Merci. J’ai cru m’être découvert un don pour le mandarin ou l’hébreu.

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • [^] # Re: Industriels, les nouveaux fermiers ?

    Posté par  (site web personnel) . En réponse au lien Selon l'hebdomaire libéral The Economist, la course à l’industrialisation est un mirage. Évalué à 2.

    Faut-il comprendre que mes interventions sont systématiquement débiles, hors de propos et de tout sens sur ce site ? Poserait-on la question du contenu d'un article en ayant pu le lire ?

    Voici ce qui m'est présenté en cliquant sur le lien que vous partagez, et non sur un autre (faut-il vraiment le préciser ?) :

    « Produire une information fiable et de qualité a un coût. Pour poursuivre votre lecture, nous vous invitons à choisir entre deux options :

    Accéder gratuitement en acceptant l’utilisation de cookies.

    L’accès gratuit au site (hors contenus exclusifs abonnés) est subordonné à votre consentement sur l’utilisation des cookies et technologies similaires utilisés par Courrier international et/ou ses partenaires (169), afin de stocker et/ou accéder à des informations sur votre appareil, pour analyser l'audience et développer ses produits, pour présenter des publicités et des contenus personnalisés et d’en mesurer les performances. Vous pouvez retirer votre consentement à tout moment.

    À quoi servent les cookies ?
    Pourquoi Courrier international vous demande d'accepter les Cookies pour accéder au Site ?
    Ou s’abonner à Courrier international pour profiter de tous les contenus.

    L’accès au site avec abonnement vous permet de consulter tous les contenus et archives de Courrier international depuis notre site et nos applications mobiles. En cliquant sur le bouton « Refuser et s’abonner à Courrier international », vous pourrez refuser les cookies ou paramétrer vos choix (hors cookies de fonctionnement et de mesure d’audience). »

    Il est possible d'ergoter sur la dénomination la plus appropriée pour cet encart ; ou sur les choix commerciaux et éditoriaux des sites d'information. Peut-être ai-je tort d'employer l'expression paywall… Toujours est-il que je ne sais ni ne souhaite outrepasser ce type de blocage.

    NB : si j'ai lancé la discussion suite à votre lien, c'est bien parce que le sujet évoqué par le titre me semblait potentiellement intéressant, et aucunement pour déblatérer sur l'économie du journalisme.

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • [^] # Re: Industriels, les nouveaux fermiers ?

    Posté par  (site web personnel) . En réponse au lien Selon l'hebdomaire libéral The Economist, la course à l’industrialisation est un mirage. Évalué à 3.

    L'article est gratuit pour vous. Chez moi, ça dit payez ou passez votre chemin. Dois-je vraiment vous le répéter pour que vous me croyiez ?

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • # Industriels, les nouveaux fermiers ?

    Posté par  (site web personnel) . En réponse au lien Selon l'hebdomaire libéral The Economist, la course à l’industrialisation est un mirage. Évalué à 3.

    Avec le paywall, pas de lecture. Mais le titre ne paraît pas très étonnant : ça fait bien longtemps que certains pays sont lancés dans une courses effrénée à la financiarisation (shaddok) de l'économie. C'est un peu comme au XVIIe les abus de la noblesse et du clergé qui auraient pu se demander pourquoi s'évertuer à gérer une production quand on peut posséder les possédants.

    J'imagine que s'il y a un article, ce n'est pas pour déclarer avoit redécouvert la roue — donc raconter ce que nul n'ignore, par exemple ce qui précède ? Que découvre-t-on là-dedans ?

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • [^] # Re: Ça change du militaire

    Posté par  (site web personnel) . En réponse au lien Abandon Microsoft . Évalué à 4.

    Bah, le prochain président américain, sera une brune à la peau basanée, moderne, sympathique, et appartenant au parti démocrate ; elle s'appellera Trona LeDump ; et du coup plus personne n'aura la moindre raison de se méfier de mirosoft, amazon, facebook et consorts, ou d'envisager de garantir un tant soit peu son autosuffisance en matière économique. Voyons loin. Prévoyance. Anticipation. Et budgétons d'ores et déjà les commandes de F-42, et le renouvellement du parc informatique pour le passage à WC (13 ça porte malheur, d'où cet atermoiement de numérotation).

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace