Logo journal du hacker middle
  1. 1

    Je présuppose que ce serait alors un bien moindre problème.

      1. 3

        Quand j’écris “c’est aussi un nouvel outil terrible pour un gouvernement fasciste”, j’écris bien “UN”. Le RN pourrait très bien arriver au pouvoir un jour et je lui prête bien volontiers une étiquette de groupe politique fasciste. C’est pourquoi je poursuis avec : “Je n’accepte pas que la France soit une locomotive pour ces régimes vers lesquels nous nous dirigeons chaque jour qui passe.

        Il faut aussi accepter d’appeler un chat, un chat. La France a un pied dans le fascisme.

          1. 3

            Je ne signerais pas cette pétition en ligne. En plus, traiter le gouvernement Français de « faciste » est inadmissible. En outre, la pétition de Mozilla est une mesure démagogique.

            Je n’ai pas encore eu le temps de lire les documents officiels.

            1. 2

              Il faut nuancer et ne pas mettre tout le monde dans le même panier. Depuis toujours certains libristes sont contre l’opensource et à insister pour le Libre.

              1. 1

                J’ai pu assembler ma propre tour de bureau. Les composants de l’ordinateur commandés sur le Web à une grande entreprise ont été choisis à l’aide d’un outil en ligne, notamment pour garantir leurs compatibilités. Vraiment pratique et cela facilite amplement la tâche, bien qu’il faille tout de même apporter une réflexion technique personnelle pour éviter les déconvenues. J’ai également beaucoup comparé les configurations. Tuxedo proposait une configuration de PC quasi semblable à la mienne pour un prix augmenté de 400€. Leur configuration plus générique que la mienne ne permettait pas de substituer certains composants (comme la mémoire vive disponible, celle de stockage, ou encore, l’absence de carte graphique (APU)). Par contre, ce qui est potentiellement difficile dans le cas qui est le mien, et qui est pris en charge par Tuxedo, c’est le support effectif du matériel par le système d’exploitation.

                Cest intéressant de voir que des entreprises vendent du matériel avec GNU/Linux. Mais cela dépend éventuellement de plusieurs paramètres selon les facteurs à considérer.

                1. 1

                  Pourtant le contrat avec l’OpenSource® était assez clair ; siphonner le logiciel libre pour gagner de l’argent. Maintenant que c’est le cas les libristes semblent tomber de leur chaise.

                  1. 1

                    Bonjour :)

                    Merci de ta lecture. <3

                    Oui, j’ai un peu tordu la vérité pour expliquer la recopie du state 0, quitte à un peu travestire le comportement réel.

                    Mais tu as raison l’utilisation du terme “desugar” est un abus de langage de ma part ^^’

                    1. 1

                      Chouette article didactique qui prend l’approche d’expliquer tout ce sur quoi repose les Stream pour en expliquer le fonctionnement. Top :)

                      Un petit détail sur la partie où X implémente Copy pour permettre de le réutiliser et éviter le move. En fait, ce n’est pas le compilateur qui décide de faire une copie avant d’effectuer la boucle for, c’est bien la signature de into_iter qui force ce comportement:

                      fn into_iter(self) -> Self::IntoIter
                      

                      La fonction prend self par valeur. Pour une structure implémentant Copy, une copie sera faite, sinon ce sera un move.

                      Du coup, l’exemple ne se “désugarise” pas en:

                      let x = X { state: 0 };
                      
                      let x_copy1 = x; // x_copy1 = X { state: 0 } -- copie de x en x_copy1
                      let iterator1 = x_copy1.into_iter(); // x_copy1 est consommé par into_iter mais pas x
                      for i in iterator1 {
                          println!("{i}")
                      }
                      
                      let x_copy2 = x; // x_copy2 = X { state: 0 } -- copie de x en x_copy2
                      let iterator2 = x_copy2.into_iter(); // x_copy2 est consommé par into_iter mais pas x
                      for i in iterator2 {
                          println!("{i}")
                      }
                      

                      Mais plutôt en:

                      let x = X { state: 0 };
                      
                      let iterator1 = x.into_iter(); // x est copié pour l'envoyer à into_iter qui veut consommer self
                      for i in iterator1 {
                          println!("{i}")
                      }
                      
                      let iterator2 = x.into_iter(); // idem
                      for i in iterator2 {
                          println!("{i}")
                      }
                      

                      Sinon, bon article. Merci :)

                      1. 1

                        Content que ça t’ait plu :)

                        1. 2

                          Merci pour l’article, j’ai trouvé ça super.

                          1. 1

                            Abonnez-vous pour soutenir le travail

                            1. 1

                              Je n’ai jamais essayé mais il y a PantherX. Ils ont construits un système d’exploitation basé sur Guix, dans le but de le commercialiser, pour le rendre accessible.

                              1. 1

                                Pour compléter, voici une conf de woodpecker pour builder un site avec hugo et pousser le code générée sur une branche spécifique (contexte : https://www.deblan.io/post/624/gitnet-heberge-vos-pages-statiques) : https://gitnet.fr/deblan/pages-ci/src/branch/master/.woodpecker.yml

                                1. 1

                                  Je n’aime (vraiment) pas Github Actions donc je comprend l’envie de s’en éloigner. Par contre, une CI comme Woodpecker est simple et je pense adaptée pour faire ça. Dans ce concept de déploiement, je trouve qu’il y a plusieurs problèmes. Le premier est d’avoir des outils de build sur ton serveur. Le second est que tu ne tests pas si ton build se passe bien.

                                  1. 1

                                    Pas de nginx dans Redhat ? Mais oui bien sûr…

                                    1. 1

                                      Perso, dans le repo git de mon site hugo, j’ai ajouté un simple script shell dans .git/hooks/pre-push . À chaque fois que je git push, il est automatiquement executé, ça génère le site et tout le bordel et pousse les fichiers vers le serveur qui héberge.

                                      Oui, j’aurais pu aussi faire ça. Ca m’obligerait à avoir un accès SSH à ma machine, ce qui n’est pas le cas aujourd’hui (elle est pas directement exposée sur Internet, uniquement trafic HTTP et encore, elle est derrière un reverse proxy)

                                      Et les webhooks c’est pas une spécificité de Github donc c’est pas vraiment une dépendance

                                      1. 1

                                        Oh, mais que l’idée est bonne !!! Tu veux bien me fournir ton script pre-push… après faut que je voye/trouve avec Gitea comment faire, mais étant donné que mon service Gitea est sur la même machine que mon service web… :p

                                        1. 2

                                          J’ai quand même l’impression que ça aurait pu simplement se faire en utilisant un script lancé par git.

                                          Perso, dans le repo git de mon site hugo, j’ai ajouté un simple script shell dans .git/hooks/pre-push . À chaque fois que je git push, il est automatiquement executé, ça génère le site et tout le bordel et pousse les fichiers vers le serveur qui héberge.

                                          Du coup pas de webhook, pas de dépendance à github.