me fait penser à @Cory_Doctorow
( https://en.wikipedia.org/wiki/Enshittification )
technocritique
We are destroying software
antirez 41 days ago. 244066 views.
We are destroying software by no longer taking complexity into account when adding features or optimizing some dimension.
We are destroying software with complex build systems.
We are destroying software with an absurd chain of dependencies, making everything bloated and fragile.
We are destroying software telling new programmers: “Don’t reinvent the wheel!”. But, reinventing the wheel is how you learn how things work, and is the first step to make new, different wheels.
We are destroying software by no longer caring about backward APIs compatibility.
We are destroying software pushing for rewrites of things that work.
We are destroying software by jumping on every new language, paradigm, and framework.
. . .
Plein de siper posts sit la condition de dev open/alt
http://antirez.com/news/124
J'en parlais dans une bulle passée...
https://liens.vincent-bonnefille.fr/?OMKCTA
Isso génère un espace de commentaire
Testez Isso, en bas de page, dans {cette} bulle :
https://liens.vincent-bonnefille.fr/?vbm_vg#comments
Page du projet/app
https://github.com/posativ/isso/
https://isso-comments.de {cette bulle}
. . .
Je voulais rendre cet espace 2.0
: qu'on puisse commenter, surligner.
... sans être surveillé.e/tracké.e
Je cherchais...
une alternative à /Disqus/
-> https://alternativeto.net/software/disqus/
J'ai des clients / amix...
qui me demandent ce genre d'outil, essentiel pour avoir un feedback !
. . .
J'ai finalement opté pour isso

crédit image : https://linuxhandbook.com/deploy-isso-comment/
Limitation
Marche uniquement avec des URL (permaliens) avec un /sous-chemin/
{ici}, avec des parameters (.. .fr/?...) chaque page est considérée comme aillant le même thread (sujet/fil de conversation)
-> https://isso-comments.de/docs/reference/client-config/
-> data-isso-id="https://votre_url_ou_permalien"
Source complète
https://omicx.cc/posts/2021-04-16-create-a-hugo-blog/
Tuto résumé
- on crée un user restreint isso
- quelques dep. dont
virtualenv
ensuite
- on passe en user isso
sudo su isso - on installe
pip3 install isso - on passe en virt.
virtualenv ~/venv/isso
source ~/venv/isso/bin/activate - on crée une config
( avec un autre port que 8080 + password + CORS / hosts(*) + etc )
nano ~/etc/comments.cfgcf.tuto d'omicx.cc - on démarre isso
isso -c ~/etc/comments.cfg run
. . .
Pour le service je me suis inspiré de :
[Unit]
Description=Isso
After=network-online.target
[Service]
Type=simple
User=isso
Group=isso
UMask=007
ExecStart=/var/www/pip/venv/bin/isso -c /home/isso/etc/comments.cfg
Restart=on-failure
# Configures the time to wait before service is stopped forcefully.
TimeoutStopSec=300
[Install]
WantedBy=multi-user.target
Le tuto nous explique ensuite comment gérer un Reverse_proxy Nginx
et créer un service qui démarrera avec le serveur...
(*) CORS test
https://cors-test.codehappy.dev/?url=https%3A%2F%2Fisso.bonnebulle.xyz&origin=https%3A%2F%2Fcors-test.codehappy.dev&method=get NOT
https://cors-test.codehappy.dev/?url=https%3A%2F%2Fisso.bonnebulle.xyz&origin=https%3A%2F%2Fliens.vincent-bonnefille.fr&method=get OK
todo FIX: SMTP mail notifications !
Autres pistes
https://isso-comments.de/docs/guides/quickstart/
https://stanislas.blog/2018/02/add-comments-to-your-blog-with-isso/
https://www.hallada.net/2017/11/15/isso-comments.html
https://confluence.jaytaala.com/display/TKB/Installing%2C+configuring%2C+and+integrating+isso+(commenting+web+app)+into+Confluence
List of free stuff for developer by developer to use. This is a collective list of useful services for developer you can use for your next MVP or prototpying your idea.
TOC
Update
Story
Janitor
scraper
WebGrep
Alt
Headless
OutilspourMD
Annoter
Linkscheckers
Tunnels
Archive
indexserveur
Textpocessing
via
Update
Dernière version ( 2024 )
https://liens.vincent-bonnefille.fr/?Jxnufg
( dncorpus )
j'ai mis au point un fichier cli_bash
pour GRAV ( grav_wordpress )
qui va chercher les liens dans les pages (sous-dossiers)
- EX/ A => B
puis chercher le fichier/la page en question (liée) ( B )
et indique dans la page ( B ) que ( A ) pointe vers elle - https://gitlab.com/bonnebulle/grav_dn/-/blob/main/user/recursiv_mod.sh?ref_type=heads
Story
Je reprends ma prise de notes avec dendron / Zettelkasten
J'en suis pas à mon premier essai {bulle}
article de référence sur cette méth. de prise de notesJe veux automatiser la mise en prod / publication
Je veux ajouter quelques fonctions "de base" qui font d'un (b)log un jardin...
... tel les /Backlinks/ (liens entre articles.notes connexes)
... ce que propose {cet article.lien.bulle}
--> https://sebastiandedeyne.com/adding-backlinks-to-a-github-wiki/
... avec le script /Janitor/Backlinks, or bi-directional links, are becoming table-stakes for productivity apps since they’ve been popularized by Roam. It’s a simple …
Janitor
-
https://github.com/andymatuschak/note-link-janitor
-> forks https://www.npmjs.com/search?q=note-link-janitor
-> FR : https://www.npmjs.com/package/@arthurperret/note-link-janitor-fr !
Quelques alternatives et autres outils...
pour se balader de liens en liens,
de sites en sites
...
scraper
Un scraper c'est une automatisation de taches programmables permettant de visiter et inte agir avec une page web, sa structure ou des données. On peut ainsi simuler un clic, copier du contenu tel des liens (d'images ou hypertextes), faire une capture écran, etc.
Plusieurs approches...
WebGrep
va chercher du texte à la façon de /grep/
on pourrait ainsi lister les liens
se balader de l'un à lautre...
- https://webgrep.readthedocs.io
- (=) https://github.com/dhondta/webgrep
- (=) https://pypi.org/project/webgrep-tool/
(=/=) des variants
- https://github.com/LLazarek/webgrep
wgrep.py
-u URLS, --urls URLS Regexp for urls to search. By default all urls are searched.
wg (an other)
Alt
Recursive by rounds -R
Spider
Headless
des navigateurs 'sans tête'
on intéragis sans afficher à l'écran la page
on a un accès textuel / via du code
( possible par terminal cli_bash )
- https://github.com/lbarnkow/no_browser
- https://lib.rs/crates/surf
- https://lib.rs/crates/longboard
- https://github.com/http-rs/surf
Je suis aussi tombé sur des outils qui vont me servir dans la création des pages (et leurs interactions par backlinks...
Outils pour MD
toc
tag search <3
like dendron linked notes
Annoter / pdf
extraire annotations pdf -> md <3
Hypothesis direct dans vsc
Search in PDF
pdfgrep
rga
Links checkers
Vérifier la validité des liens
peut être utilile avec le scraper
chker
chker status
Tunnels
Rendre accessible un site en devellopement local
au reste du web en créant un tunel
tunnels
Archive
Sauvegarde, téléchargement de pages
archive / dwl pages
- https://github.com/bcmyers/urls2disk
- https://github.com/mattgathu/duma
- https://lib.rs/crates/shirodl
index_serveur
afichier le contenu d'un dossier
mise en place d'un micro-serveur
j'utilisais http-server
- https://lib.rs/crates/dufs
- https://github.com/http-server-rs/http-server
- https://github.com/svenstaro/miniserve
Text pocessing
-> https://lib.rs/text-processing
via
J'utilises aussi Signal API
ntfy lets you send push notifications via scripts from any computer or phone. Made with ❤ by Philipp C. Heckel, Apache License 2.0, source at https:
Et voila, un outil pour prévenir mes utilisateurices.eurs d'un New content
( avec des notifications push )
Howto
2e tentative d'install,
Par défaut sans espace privé le web UI me posait pbl,
c'est chose résolue en fouillant dans :
https://docs.ntfy.sh/config/?h=ntfy_cache_duration#config-options
Full story
Succession de /Gotify/ que j'utilise depuis longtemps
https://liens.vincent-bonnefille.fr/?searchterm=ntfy
Plein de projets /portages !
Integrations + projects - ntfy
- https://ntfy.bonnebulle.xyz/docs/integrations/
( dont : )
ntfyd: ntfy desktop daemon - https://github.com/joachimschmidt557/ntfyd/tree/trunk
ntfy-browser: A ntfy browser extension - https://github.com/johman10/ntfy-browser
ntfy-electron: Electron wrapper for the ntfy web app - https://github.com/xdpirate/ntfy-electron
ntfyr: A simple commandline tool to send notifications to ntfy.sh - https://github.com/haxwithaxe/ntfyr
ntfy.sh.sh: 📟 run scripts on ntfy.sh events - ntfy.sh.sh - Codeberg.org
https://codeberg.org/zvava/ntfy.sh.sh
Petite MàJ de mon outil de capture de sites web
( utilisé { ici } pour faire les aperçus )
-> Page entière ( HD )
-> Crop d'image ( rognée )
-> Thumbnail ( image d'aperçu poids réduit : gif )
MAJ des captures par URL -> base 32 )
MAJ index des captures par URL
Le cheminement, {bulle} d'intro
https://liens.vincent-bonnefille.fr/?NYPb2w
Ex ( HD non cropée )

/Wireguard/ permet de créer très facilement des tunnels VPN !
Permet à des "clients" de se connecter via un ordi distant : "host/serveur"
... et ainsi, le client utilise une nouvelle adresse IP de sortie : de changer d'identité
... dit à l'envers : le serveur.host sert de point de sortie à une connexion distante
Pour un web_master ça sert aussi à accéder à un environnement local !
/Wireguard/ est dit plus souple et rapide que /OpenVPN/
ce proto est utilisé par /Mozilla VPN/
/Wireguard/, basé comme i2p /ou/ WhatsApp sur :
Explications / ressources
Image (illu. {cette bulle})
- https://pimylifeup.com/raspberry-pi-wireguard/
( tuto d'installation auto. sur raspberrypi )
Une petite vidéo (récente en français) pour le détail :
WireGuard est donc la nouvelle coqueluche des enthousiastes du VPN. Ce protocole tout récent a pris le monde du VPN par surprise. On relève notamment un développement éclair, des performances surprenantes, sans oublier son intégration au très select Kernel Linux. Avec autant d'arguments en sa faveur, il a vite trouvé preneur chez de nombreux éditeurs de VPN qui n'ont pas manqué d'intégrer le protocole dans leurs services.
MAJ
J'ai fini par utiliser un Web UI :
https://wg.bonnebulle.xyz
Très utile pour générer des cléfs / profiles / qrcode pour mes "clients"/ami.es
-> https://github.com/WeeJeWel/wg-easy
Cela permet de les échanger sans échanger les .conf via /WormHole/ ou autre...
/WormHole/ = <3 = https://liens.vincent-bonnefille.fr/?27Q_IQ
MAJ 2
todo : split-tunnel & kill-switch
: faire passer certaines applications via WG !
- https://github.com/dadevel/wg-netns
- https://github.com/chrisbouchard/namespaced-wireguard-vpn
- https://volatilesystems.org/wireguard-in-a-separate-linux-network-namespace.html
( namespaces )
MAJ 3 todo
Utiliser WG avec /Deluge/, web-client bittorent_p2p ;)
- https://yarmo.eu/blog/wireguard-docker/
- https://shkspr.mobi/blog/2023/03/a-quick-guide-to-getting-mozilla-vpn-working-on-a-headless-linux-server/
--> TUNNELING some apps - https://github.com/jamesmcm/vopono/
Recherches, liens préalables
Doc.mans / Tools
Aur man (dyndns possible)
(full + update endpoint serverside)
LAN access
- https://unix.stackexchange.com/a/639011
- https://www.mickaelwalter.fr/extend-your-lan-with-wireguard/
- https://emersonveenstra.net/blog/access-local-network-with-wireguard/
- https://www.laroberto.com/remote-lan-access-with-wireguard/
- https://davidshomelab.com/access-your-home-network-from-anywhere-with-wireguard-vpn/
Allowed IP and exculde rang calculator
(and detailled explaination)
Très complet
Tools
- https://github.com/WeeJeWel/wg-easy
- https://github.com/complexorganizations/wireguard-manager
https://github.com/EmbarkStudios/wg-ui
Monitoring
Update EndPoint
! à utiliser côté serveur
( perso je remplace l'IP manuellement )
( dommage que WG ne vérifie pas tout seul si le dyn.host.xyz a changé d'IP )
Bash Auto create clients ( try fails /etc/wireguard/autogen )
alt bundle
Un article de @noted.lol https://noted.lol/self-hosted-roundup-34/
fait récemment le tour des alternativeto :
/borg/ (souvent cité sur des sites.forums.blogs) me parait une bonne piste
: https://www.borgbackup.org/?ref=noted
Duplicati
Free backup software to store backups online with strong encryption. Works with FTP, SSH, WebDAV, OneDrive, Amazon S3, Google Drive and many others.
Faire des sauvegardes est mère de toutes les vertus !
Hacked ? Restore from last week Backup !
Est plutôt pensé pour de la sauvegarde de HDD en local, on peut faire monter le contenu d'un serveur (FTP) en local... et en copier le contenu.
installation ( docker )
MAIS ne prend en charge que les dossiers LOCAUX (pas FTP/SFTP/SSH)
(une honte !) Du coup, il faut monter son serveur distant en local(host)
...
DIRECT try...
FTP ( ncftp )
- https://www.filestash.app/ovh-ftp.html (*ndbp)
- https://nguoiquynhon.blogspot.com/2009/08/how-to-backup-to-ftp-with-ncftp.html
Monter le contenu d'un serveur ( curlftpfs + Fuse )
--> /!\ Buggy/Laggy error_échec <--
Final use ( service.systemd : root ready )
-
https://github.com/systemd/systemd/issues/1053#issuecomment-921456374
-
https://linuxconfig.org/mount-remote-ftp-directory-host-locally-into-linux-filesystem ( détailed )
Using Curl profiles
Rclone
( ma solution de cœur, avec un GUI/WebGUI )
( ... but, it's not working with my hoster, cant figure out why )
( mon IP était... blacklistée ! trop de requêtes avec curlftpfs )
fonctionne avec moult protocoles / plateformes !
Après configuration ( rclone config )
Lister
rclone lsd conf_name:
rclone lsd conf_name:Path/to/folder
Sync ( du serveur -> localhost ) :
TESTS
rclone sync --interactive conf_name:Path/folder /local/folder/
rclone sync conf_name:Path/folder /local/folder/ --dry-run --verbose
GO
rclone sync conf_name:Path/folder /local/folder/ --verbose
*) /Filestash/ est pas mal pour se connecter depuis le web à un serveur !
( bon remplaçant de web2ftp ) --- avec une offre gratuite en self_host !
Complémentaire d'un /Filebrowser/
qui, lui, affiche vos dossiers locaux dans votre Navigateur !
( avec une authentification "normale" : non s.FTP )
--> Supprimer/déplacer/renommer (bien sûr)
--> Possibilité de liens de partage (mdp/non)
--> Upload (même gros fichiers)
Tuto source :
.filebrowser.json
{
"port": 80,
"baseURL": "",
"address": "",
"log": "stdout",
"database": "/database.db",
"root": "/srv"
}
Ma commande finale ( pour un user www-data )
docker run --name filebrowser -d \
-v /mon_dossier_racine/Fichiers/:/srv \
-v /mon_dossier_config/filebrowser.db:/database.db \
-v /mon_dossier_config/.filebrowser.json:/.filebrowser.json \
--user $(id -u www-data):$(id -g www-data) \
--restart=always \
-p PORTDISPO:80 \
filebrowser/filebrowser
https://hub.docker.com/r/filebrowser/filebrowser
https://github.com/filebrowser/filebrowser
restaurer son pad trop gros
Je m'en suis finalement tiré en trifouillant le settings.json...
j'ai illimité la taille d'upload + le temps de requête max...
et tout remis après pour éviter une DDOS ;)
Tools
( pas testés ) ( ressources / tools )
- https://pypi.org/project/etherpump/
- https://github.com/ether/ep_post_data
- https://github.com/redhog/ep_copypad
API
-> https://etherpad.org/doc/v1.6.0/#index_api_methods
-> https://github.com/ether/etherpad-lite/blob/develop/doc/api/http_api.md
list pads
curl "http://0.0.0.0:PORT/api/1.2.13/listAllPads?apikey=SECRETAPI&padID=PADNAME&rev=NUMERO
restaurer version ( restoreRevision )
( pratique pour un pad de démo restauré à 1h du mat )
curl "http://0.0.0.0:PORT/api/1.2.13/restoreRevision?apikey=SECRETAPI&padID=PADNAME&rev=NUMERO (source)
supprimer ( deletePad )
curl "http://0.0.0.0:PORT/api/1.2.13/deletePad?apikey=SECRETAPI&padID=PADNAME&rev=NUMERO
( ... )
API + Mojo ( Perl )
NB:
- https://metacpan.org/pod/Etherpad
- https://metacpan.org/pod/Etherpad#get_html
- https://metacpan.org/pod/Etherpad#send_clients_message
- https://metacpan.org/pod/Etherpad#get_revisions_count
- https://metacpan.org/pod/Etherpad#restore_revision
use Etherpad; my $ec = Etherpad->new( url => 'http://0.0.0.0:PORT', apikey => 'SECRET', user => 'USER', password => 'PWD', proxy => { http => 'http://0.0.0.0:PORT', https => 'http://0.0.0.0:PORT' } ); $ec->restore_revision('new_pad_name', NUMBER);
- https://metacpan.org/pod/Etherpad#restore_revision
- https://metacpan.org/pod/Etherpad#copy_pad
\#!/usr/bin/perl -w use Etherpad; # # my $ec = Etherpad->new( url => 'http://0.0.0.0:PORT', apikey => 'SECRET', user => 'USER', password => 'PWD', proxy => { http => 'http://0.0.0.0:PORT', https => 'http://0.0.0.0:PORT' } ); # # # # # OUTPUT Arguments (optional) my $total = $#ARGV + 1; my $counter = 1; # # # INPUT + OUTPUT (arguments needed) if($total != 2){ print("2 arguments please..."); print("\n1. old pad name"); print("\n2. new pad name"); exit; } # # # OUTPUT Arguments (print) # Use loop to print all args stored in an array called @ARGV foreach my $a(@ARGV) { print "Arg # $counter : $a\n"; $counter++; } # # # GET 1. and 2. argument my $oldname = $ARGV[0]; my $newname = $ARGV[1]; # Execution $ec->copy_pad($oldname, $newname);- https://metacpan.org/pod/Etherpad#move_pad
" Display and control your Android device. Contribute to Genymobile "
Contrôler son téléphone Android depuis son ordinateur ! Un must-have !
Bonus : j'ai créé ce petit script de connexion en Wifi (Bash) : gist
Wiki : https://en.wikipedia.org/wiki/Scrcpy
Genymotion https://www.genymotion.com
est derrière un outil de virtualisation VM
Blog ressource en français : https://blog.rom1v.com
"Onionbalance is the best way to load balance onion services across multiple backend Tor instances. This way the load of introduction and rendezvous requests get distributed across multiple hosts. Onionbalance provides load-balancing while also making onion services more resilient and reliable by eliminating single points-of-failure."
https://onionbalance-v3.readthedocs.io/en/latest/v2/design.html :
"This tool is designed to allow requests to Tor onion service to be directed to multiple back-end Tor instances, thereby increasing availability and reliability. The design involves collating the set of introduction points created by one or more independent Tor onion service instances into a single ‘master’ descriptor."
Répertoire / Index mis à jour (1/1h) des relais / noeuds de sortie de Tor
Très utile pour détecter les utilisateurs du dn_tor_onion ;)
J'ai aussi trouvé https://bgp-tools.com/torlists.html ( à comparer todo )
Une solution alternative à la liste officielle proposée par le Tor Project qui... :
- n'est pas toujours à jour...
- index de faux positifs ( des IP qui ne font pas partie du réseau )
- pas d'IP_V6 ( qui devient la norme )
--> Peut donc représenter une alternative pour reccueillir les adresses du /DescripTor
listes ( TProject - CollecTor )
Les listes sont mises à jour :
- https://metrics.torproject.org/collector.html#relay-descriptors
- https://metrics.torproject.org/collector.html#exit-lists
( dans des fichiers datés distincts )
Voir aussi...
- https://2019.www.torproject.org/projects/tordnsel.html.en
- https://stem.torproject.org/api/descriptor/tordnsel.html
listes ( Fission )
https://lists.fissionrelays.net/tor/
exits.txt: Exit nodes only, IPv4 and IPv6. Use this list to block traffic to your site from the Tor Network.
exits-ipv4.txt: Exit nodes only, IPv4 only.
exits-ipv6.txt: Exit nodes only, IPv6 only.
relays.txt: All relays within the Tor Network, exit and non-exit, IPv4 and IPv6.
relays-ipv4.txt: All relays, IPv4 only.
relays-ipv6.txt: All relays, IPv6 only.
updated.txt: The time in UTC when the list was last updated.
scripts :)
- {cette bulle} https://gitlab.com/fissionrelays/lists/-/blob/master/tor.php
- alt ( pyhon ) https://liens.vincent-bonnefille.fr/?CgmMmA
- https://blog.atagar.com/stem-release-1-8 ( using /Stem.python )
[good reports, updates, tips, reviews]
Une revendication sur /Github/ ....
Démission de codeur, référence à @Aaron_Swartz (réclamant justice/explication)
Retour sur la mort étrange et tragique et touchante de ce "génie du web" / "enfant d'internet"
... à qui l'on doit flux /RSS/ - /Reddit/ - /OpenLibrary/ etc...
-
Défenseur des libertés sur internet
-
Auteur du [ open access manifesto ]
--> http://wavelets.ens.fr/BOYCOTT_ELSEVIER/DECLARATIONS/DECLARATIONS/2008_07_01_Aaron_Swartz_Open_Access_Manifesto.pdf
--> https://zintv.org/outil/guerilla-open-access-manifesto/ français -
la culture du logiciel libre
... -
il est arrêté suite au "piratage" des serveurs de JStore
( qui enfermait des contenus_savoirs sur leurs serveurs )
---> Full Story : https://liens.vincent-bonnefille.fr/?MVj67Q
...
![]()
La vidéo évoque aussi le problème de l'économie du logiciel libre dans lequel la rétribution n'est pas toujours équitable (par exemple, un bout de code développé gratuitement mais jamais payé par des multinationales/big_corp)

< - https://www.youtube.com/watch?v=R6S-b_k-ZKY
Heartbeats
( Heartbleed )
https://en.wikipedia.org/wiki/Heartbleed
EDIT: +plus récemment : https://fr.wikipedia.org/wiki/Attaque_de_XZ_Utils_par_porte_dérobée 2025
Une question qui s'était posée avec la faille /Heartbleed/ d'OpenSSL en 2014
https://www.nextinpact.com/article/12029/86934-openssl-faille-heartbleed-menace-securite-web-sites-ferment
Des logiciels libres au cœur de nos environnements techniques...
sur lesquels "tout" repose
https://xkcd.com/2347/ :

Extra : représenter les "dépendencies" ?
- Visualization of npm dependencies
- npmgraph - socket.io
- npm Packages Dependencies Graph | Exploring Data
Le libre peut-il changer le monde ?
Culture libriste défendue par @Aaron_Swartz
Celle d'un internet du partage,
Thèse enthousiaste tel :
La bataille du libre
@Philippe_Borrel de 2019
-
timing -> @Richard_Stallman (intro)
https://peertube.fr/w/9T2bZwD3wQS1W9D37u3HTz?start=5m15s -
timing -> d'afférentes libertés d'usage + Copyleft
https://peertube.fr/w/9T2bZwD3wQS1W9D37u3HTz?start=5m53s -
timing -> droits essentiels d'un logiciel
https://peertube.fr/w/9T2bZwD3wQS1W9D37u3HTz?start=7m10s
(4) libertés essentielles :
-
0 - Exécuter le programme de n'importe quelle manière
-
1 - Étudier le code source et le modifier pour lui faire faire ce que l'on veut
-
2 - Partager : liberté de partager à d'autres gens comme on veut
: possibilité de re-publier le programme -
3 - distribuer des copies de versions modifiées
-
timing -> end : réponses...
de ce "coup de judo qui renverse le principe des lois propriétaires contre elles-même"
https://peertube.fr/w/9T2bZwD3wQS1W9D37u3HTz?start=8m50s
. . .
( // ) Droits en informatique cli_bash
SOURCE :
I - La commande CHmod
Les types d'utilisateurs
- Le propriétaire du fichier (user)
- Le groupe du propriétaire du fichier (group)
- Les autres utilisateurs, ou encore le reste du monde (others)
Les types de droits
r : droit de lecture (read)
w : droit d'écriture (write)
x : droit d'exécution (eXecute)
II - Correspondances des droits en binaire/octale et leurs significations
| Binaire | Val octale | Droits | Signif. |
|---|---|---|---|
| 000 | 0 | - - - | Aucun droit |
| 001 | 1 | - -x | Exécutable |
| 010 | 2 | - w - | Ecriture |
| 011 | 3 | - w x | Ecrire et exécuter |
| 100 | 4 | r - - | Lire |
| 101 | 5 | r - x | Lire et exécuter |
| 110 | 6 | r w - | Lire et écrire |
| 111 | 7 | r w x | Lire écrire et exécuter |
...
| Type d'user | Propriétaire | Groupe | Les autres |
|---|---|---|---|
| Droits | r w x | r - x | - - x |
| Position Binaire | 111 | 101 | 001 |
| Valeur Octale | 7 | 5 | 1 |
Quelques exemples / principes
Licences libres -> la quelle ?
Liste, annuaire_index :
- https://github.com/LibreCybernetics/awesome-copyfarleft
-> Licences : - https://anticapitalist.software/ - Anti-Capitalist Software License
- https://lynnesbian.space/csl/ - Cooperative Software License
- https://wiki.coopcycle.org/en:license - Coopyleft License
- https://fair.io/ - Fair Source License
- https://paritylicense.com/ - Parity Public License
...
Articles : - https://www.boringcactus.com/2020/08/13/post-open-source.html
- https://gitlab.com/cal-coop/software-anarchy/
- http://telekommunisten.net/the-telekommunist-manifesto/ <- @Dmitry_Kleiner
the-telekommunist-manifesto :
EX/ anticapitaliste
? Que nous dit la Free_Software_Fondation (fsf)
? et nos amix les GNU
un wiki index des licences =>
-
Une "anticapitaliste"
- https://directory.fsf.org/wiki/License:ANTI-1.4
avec ce commentaire du wiki :La « licence de logiciel anticapitaliste » n'est pas une licence libre, car elle n'accorde les quatre libertés qu'à certains types d'organisations, pas à toutes. Une telle clause restrictive dans une licence logicielle, quelle que soit la cause au nom de laquelle elle a été introduite, donne au détenteur du copyright trop de pouvoir sur les utilisateurs. Nous vous recommandons vivement d'éviter tout logiciel publié sous cette licence et de ne pas l'utiliser pour vos propres logiciels.
. . .
Libre (philo) /VS/ non libre
Open (source) /VS/ propriétaire
EX.
Adobe /VS/ Gimp
Miro /VS/ ...
=> Diversité sur un marché global
=> Logiciels installés sur nos ordinateurs / serveurs !
-> https://degooglisons-internet.org/fr/
un jardin ?
Framasoft = faire soit-même
( Nourrir la terre - Semer - Arroser - Pailler )
![]()
![]()
![]()
![]()
Plus largement c'est la culture IndieWeb
-> Popup camps
-
https://indieweb.org/dogfood-fr
( principes )
✊ Own your data.
🔍 Utilisez de la data visible (DRY)
💪 Construisez les outils pour vous-même
😋 Mangez votre propre nourriture pour chiens.
📓 Documentez
💞 Open sourcez
📐 L'UX et le design sont plus important
🌐 plates-formes agnostiques aux plates-formes
🗿 Longévité.
✨ Pluralité.
🎉 Poilons-nous[1].EX: Installation d’Etherpad
(?) comment on peut savoir qu'un logiciel est "ouvert" / "fermé"/propriétaire / "open"
(?) quelle différence ça fait
(?) es ce que vous avez un exemple de logiciel libre / ouvert
(?) queceque vous observez de différent avec les "propriétaires"EX.
Adobe /VS/ Gimp
Miro /VS/ ...
(?) Des limites au "jardin" ?
- Open Hardware
--> core . Kernel . Shell . Application - Open Software
--> OS -> apps

- (x)
- soft / hard / life . ware
Les limites du logiciel libre...
Détruire ou altérer le fonctionnement des machines numériques,
la résistance du 21e siècle ?
@Benjamin_Cadon critique l'espoir du libre et son basculement vers l'open-source (favorable aux multinationales) et préfère l'idée de FarLeft
- https://bib.vincent-bonnefille.fr/book/163 ==> P40_41
= https://revuepossibles.ojs.umontreal.ca/index.php/revuepossibles/article/view/378/385
( microsoft / GAFAM s'en accommodent bien )Par sa malice, Microsoft a réussi à conserver sa mainmise sur le système d’exploitation des ordinateurs, Google a réussi son hold-up sur les mobiles avec Android (système ouvert quand cela l’arrange), les logiciels libres quant à eux sont majoritairement utilisés pour faire fonctionner Internet ( Wikipédia 2021) et ses multiples protocoles, même Microsoft se met à Linux pour son cloud ( Fassinou 2020 ). Et si l’on regarde quels sont les plus gros contributeurs aux standards d’Internet ( Ten Oever 2021 ) ou au développement du noyau Linux, on retrouve les géants du numérique en tête :
Intel, Google, Huawei, Facebook, AMD, NVIDIA, IBM, CISCO, et bien d’autres géants
… qui forgent leur propre intérêt. Car ces licences et logiciels libres restent dans une vision libérale du régime de la propriété et s'emprisonnent dans le capitalisme, à l’inverse de l’approche « copyfarleft » de @Dmitry_Kleiner .
= Les multinationales du numérique s’en accommodent donc très bien, pendant que de petits chatons (voir https://chatons.org/), en tentant de dégoogliser Internet, usent leurs griffes en vain. Internet a beau être mu par des logiciels libres, ce n’est pas le sentiment de liberté qui y prévaut aujourd’hui.
( + cite
Car fondamentalement, comme @Julia_Laïnae et @Nicolas_Alep le signalent, on peut considérer que « Le logiciel libre n’est qu’une modalité de développement informatique et de licence de diffusion, il ne remet pas en cause la recherche d’efficacité, la rationalité instrumentale, qui sont au fondement des technologies numériques » (Laïnae & Alep 2020)
--> 'Anti_Alternumérisme
Contre l'alternumérisme :
Pourquoi nous ne proposerons pas d'"écogestes numériques" ni de solutions pour une "démocratie numérique"
de @Julia_Lainae & @Nicolas_Alep
=> https://bib.vincent-bonnefille.fr/book/57
D'autres aspects problématiques..
...dans le digital labor du code
Un article français complet reprend cette question...
de dépendances mais aussi des conditions de travail quand on code
==> Le désenchantement du logiciel
==> https://tonsky.me/blog/disenchantment/fr/
EDIT:
On y critique plein de dérives et complexités dans le dev. moderne :
- la lenteur des interfaces et OS/Web
- la complexité et son cout (cruft)

On complexifie parfois les choses avant de revenir à l'essentiel - dépendences


cf. Extra reprsenter les dependencies
Dette Technique (meth. Agile)
- https://fr.wikipedia.org/wiki/Dette_technique
- https://invidious.fdn.fr/watch?v=pqeJFYwnkjE
- https://wikiagile.cesi.fr/index.php?title=DetteTechnique

Article d'origine :
https://martinfowler.com/bliki/TechnicalDebt.html 2019
Ou comment, en préférant les technologies prêtes à l'emploi (ou service) on peut, dans un dev futur, payer la dette de cet "achat" de départ, des années/semaines/après... L'importance de bien choisir ses logiciels, de bien les penser, d'avoir une bonne équipe.
EDIT :
Autre article 2019
Is High Quality Software Worth the Cost ?

R> Le code comporte une part essentielle à son fonctionnement
Autour de ce noyau important s'ajoute d'autres contenus et fonctionalités
.. qui viennent en complexifier la relecture/évolution futur
Ce code de moindre qualité est qualifié grossi la dette technique
: le cout à l'emploi/usage
Un code qui reste de qualité et clair peut être plus long à produire et livrer
.. mais diminue la dette qui devra être rembourssée à l'avenir
( répercutions négatives futures, reportées )
=IA= Cruft est un terme utilisé par les développeurs pour désigner le code qui est redondant, mal organisé ou difficile à comprendre. Il peut également faire référence à des données ou à des processus qui ne sont plus nécessaires.
La dette technique n'existe pas !
Un bon article critique en français https://waxzce.medium.com/la-dette-technique-une-supercherie-mythologique-pour-gal%C3%A9riens-de-lit-7ed0dfbf39c7
argumente que l'idée de la dette technique est nocive, fait porter une responsabilité culpabilisatrice sur les équipes. Et entend bien que parfois le code tout entier doit être refondé, repris dans un nouveau contexte (et que ce n'est pas un mal).

source
Il faut rebatir autrement, on ne fait pas pareillement un bidonville ou une cathédrale...
Cathedral & the Bazaar
On retrouve ici une métaphore de l'édifice...
Une question micro-macro oranisationel dans la prise de décision des collectifs, la répartition +/- (in)visibilisée du pouvoir, diffus ou explicite, partageant ou non la charge/cout du risque, assumant ou non les responsabilités des objectifs / attendus
Éloge d'un pouvoir possible sans structure apparente, rigide, perçue comme anti-créatrice, asséchante /VS/ l'émultion du collectif auto-organisé par des forces spontanées
https://bib.vincent-bonnefille.fr/book/90
The Cathedral & the Bazaar :
Musings on Linux and Open Source
de comment la hierarchie, le pouvoir ordonnatrice se compose,
comment il peut aussi reposer sur une émulation de groupe "horizontale",
traverssante, autrement récompensansée
d'autres hiérarchies informelles et interpersonnelles
: une économie du don organique,
( dissimulant parfois les pouvoirs internes )
mais favorisant l'émergence,
dont la somme des parties ( interventions )
.. est plus grande que les parties elles-memes ( séparées )
: la multitude faisant œuvre commune.

... une entre aide qui peut malgré tout (et c'est le sujet ici) faire porter la responsabilité sur les épaules d'un.e seul.e dev,
un maillon qu'on pourra exploiter :
Attaque_de_XZ_Utils_par_porte_dérobée, plus facile à isoler et manipuler
Vidéos de vulgarisation en français :
Une Archie diffuse
L'absence apparente de hiérarchie (ou de connivence) ne veut pas dire que le pouvoir n'existe plus, qu'il n'y a pas de tentatives gouvernantes visant à assujettir ou déplacer les forces (vers des buts spécifiques).
Critique de @Jo_Freeman : La tyrannie de l’absence de structure 1970
Reconnaître les autorités, qu’elles soient établies ou tacites, est une difficulté pour tout groupe organisé.
Comment agir sans s’entraver dans des structures aliénantes ?
Peut-on se passer de structure ?
Un pouvoir surveillant intgré, une gouvernemrntalité des individus entre-eux
: la modernité d'un panoptique sans barbelé, sans centre identifiable, autonome, décentralisé
... un pouvoir indolore mais toujours là
Interopérabilité
https://liens.vincent-bonnefille.fr/?searchterm=interopérabilité
https://liens.vincent-bonnefille.fr/?AocXOA
: ne pas rendre / ne pas être dépendant.e d'un environnement, une plateforme
On pensera aussi aux logiciels embarqués, aux ventes forcées...

-> https://www.librealire.org/vente-forcee-vente-liee ( articles )
-> https://www.librealire.org/logiciels-libres-internet-libre-perspectives-et-enjeux-frederic-couchet
wiki :
Extra
Pour choisir il faut pouvoir quitter/partir/bifurquer
( idem dans la vie des ingénieurs.eurs )
( ou durant la grande démission post covid )
( je pense ici à la vidéo de @Sabine )
/Wetty/ sert à accéder à un terminal de commandes ( cli_bash ) via le protocole SSH ...
mais en passant par le wwweb (via n'importe quel navigateur ) !
Normalement on se connect avec le protocole SSH via un terminal (application)
ssh user@adresse_du_serveur_ou_son_IP<
Sur un wifi public (ou protégé) certain admin empêchent l'accès au port :22 (SSH)
Aussi, en passant par le web ( port :80 ) on peut contourner cette limitation...
Pratique quand on veut accéder sans délais à son serveur distant !
- https://computingforgeeks.com/run-linux-terminal-on-web-browser-using-wetty/
Full tuto - https://distroid.net/linux-terminal-using-wetty/
. . .
En remplaçant de /Shell in a box/ ( discontinued )
2025
( pas facile à installer wetty )
TRY ttyd
GIT
- https://github.com/tsl0922/ttyd
-
HELP
- https://fr.linux-console.net/?p=20489
- https://github.com/tsl0922/ttyd/wiki/Example-Usage
INSTALL
- https://github.com/tsl0922/ttyd/releases
-> ARCHITECTURE (attention cpu) - `cp /dwl/path/ttyd... /usr/bin/‘
COMMANDE
sudo ttyd -W -p 9000 login
( NB : -W make it interactive, can type, carfulle in prod )
( SOURCE : https://github.com/tsl0922/ttyd/issues/1217#issuecomment-1755851524 )
NGINX
PASSWORD protect NGINX
sudo htpasswd -c /etc/nginx/.htpassttyd USERNAME
Config
server {
server_name shell.host.com;
root /var/www/html/; # Random
charset utf-8;
listen 80;
listen [::]:80;
location / {
# PASSWORD
auth_basic "Administrator’s Area";
auth_basic_user_file /etc/nginx/.htpassttyd;
# PROXY PORT
proxy_pass http://127.0.0.1:9000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 43200000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
}
}
( restart Nginx )
ADD Cert (ssl)
sudo certbot --nginx -d shell.host.com
EXTRA_SCRIPT.sh ( tmux + login )
#!/bin/bash
tmux new -s session_name -c sudo /usr/bin/login
Tmux conf
~/.tmux.conf
Service
sudo nano /etc/systemd/system/ttyd.service
[Unit]
Description=ttyd_login
After=network-online.target
[Service]
Type=simple
ExecStart=COMMANDE EXTRA_SCRIPT.sh
Restart=always
RestartSec=2
TimeoutStopSec=5
SyslogIdentifier=ttyd
[Install]
WantedBy=multi-user.target
Autostart
sudo systemctl enable ttyd
Content sharing / reading
-
Hypothes.is // annotations collectives #<3
https://hypothes.is -
Are.na // Collection/Curation du web #<3
https://www.are.na
Tableaux
-
Excalidraw
: https://excalidraw.com -
Miro // la porche, pas libre
Avec on peut bouger / ajouter / annoter des éléments tous.tes ensemble !
Très fluide, efficace, propriétaire.
: https://miro.com/fr/ -
MilaNote // Miro-like #<3
Agencer des contenus en drag-n-drop, présenter, annoter, etc
Un interface fancy comme Miro
: https://milanote.com/ -
Okso // dessiner, lier, noter
Sobre, non interactif, permet de faire des présentations pas en live, on sauvegarde les pages.compositions dans des fichiers locaux (serverless) : "The OkSo app is a Progressive Web App (PWA)" https://okso.app/about
: https://okso.app -
Digiscreen
Un tableau libre où disposer des contenus numériques
: https://ladigitale.dev/digiscreen/ (via)
IDE en ligne
Il y a plein d'IDE qui sont "passés" online !
( des interfaces graphiques de développement )
VSC s'y est mis : https://vscode.dev
( on est chez Microsoft, bof bof )
J'utilisais : https://www.codetogether.com
Chez la concurrence directe il y a :
https://www.jetbrains.com/code-with-me
Ya aussi :
... https://duckly.com
... http://demo.icecoder.net / https://replit.com / https://codesandbox.io
. . . mais on peut trouver plus modeste, simple
web_master VS indieweb ;)
Progra. Dev.
-
Glitch // je l'utilisais pour des cours d'introduction au code
Il est gratuit (on peut ajouter des ressources si le projet est trop gourmand)
ya une gestion des fichiers, un terminal, un preview (dont auto-refresh)
L'intérêt vàv de https://codepen.io c'est le côté interactif
: https://glitch.com -
CodeBoard // Glitch-like
Un interface moins accueillant mais des fonctions très proches. La nécessité de s'inscrire.
: https://codeboard.io -
Neocities // un hébergeur de fichiers simples avec éditeur rudimentaire #<3
Une référence dans le indieweb (gratuit, associatif)
Mais quelques restrictions.manques.limites
: https://neocities.org
MAIS AUSSI ( 2023 )
- https://wowchemy.com/?utm_campaign=poweredby (free lesscode)
- https://vercel.com (environement de déploiement) //
- https://netlify.com
... utilisé pour installer par ex. /Jekyl/ + sync avec git
... jardin numérique : https://liens.vincent-bonnefille.fr/?fEu6wQ
- Ghost: The Creator Economy Platform
https://ghost.org - Hexo
https://hexo.io - HTMLy - PHP Blogging Platform, and Flat-File CMS <- No DB !
https://www.htmly.com
LiveCode - Editors
-
CodePen // La référence
Tout clef en main
https://codepen.io -
JsArena // Js avec console
Interface scindé (2 panneaux), simple élégant, efficace !
Compte.Sauvegarde via Github
: https://jsarena.dev -
PlayCode
Plus abouti que JsArena, GUI plus léchée, avec Preview (3 panneaux)
Plusieurs templates de départ (js/Vue/Bootstrap/etc)
Proposent des cours : https://playcode.io/learn
: https://playcode.io/javascript-online
la star ( bonus ) alt. à Miro
- Hotglue // Tableau drag-n-drop #<3
Pour présenter des contenus, faire des sites à la façon web-n-craft : indieweb
Un projet collectif : http://kabane.org/thema/surveillance/
: https://hotglue.me
Pensez aussi aux variants et variances d'éditeurs collaboratifs tel EtherPad :
https://liens.vincent-bonnefille.fr/?searchtags=EtherPad
Par exemple :
- Your World.Of.Text // écrire à l'infini #<3
Écrire toustes ensemble sur un tableau noir infini ( textuel ascii_art )
https://www.yourworldoftext.com/~vincentb/
Kanboards / Organisation
" As an app developer, Alexander knows better than most the dangers of giving away our personal data in the name of convenience and has a challenge for you to take back control. Alexander is the co-founder, and Chief Technical Officer at ClimateClever, a startup helping schools, communities and businesses reduce their carbon footprint. A full-stack developer with over ten years of experience, he previously ran an app development agency managing various teams from design and marketing to web and native mobile app developers, both in Australia and abroad. "
" Le principe KISS, Keep it simple, stupid (en français, mot à mot : « garde ça simple, idiot », dans le sens de « ne complique pas les choses ») "
Souvent cité pour expliquer la philosophie_pensée linux (Unix)
( https://en.wikipedia.org/wiki/Unix_philosophy#Eric_Raymond's_17_Unix_Rules )
Fil wiki ( articles connexes )
- https://fr.wikipedia.org/wiki/Simplexité
- https://fr.wikipedia.org/wiki/YAGNI
- https://fr.wikipedia.org/wiki/Ne_vous_répétez_pas
- https://fr.wikipedia.org/wiki/Méthode_MoSCoW
Il s'agit de rendre simple une tâche pourant complexe ( par exemple en la découpant )
Un exemple que j'ai retenu : celui des commandes apellées "pipe(lines)" dans l'univers Unix (par lesquelles l'info passe d'un traitement à l'autre) : un procédé simple car combinatoire.
cat mondocument.txt | grep "titre"
Dans cet exemple, cat ( sort/output le texte présent dans mondocument.txt ) qui est ensuite combiné à l'outil grep ( qui cherche dans le résultat de cat, les lignes contenant "titre" ).
Simple sans perdre la complexité
- Cette combinatoire (parmis d'autres tel
>>) permet avec un ensemble de commandes.logiciels simples de faire des choses complexes en bout de chaine. - Le principet est simple à intégrer-apprendre. Sa généralisation au sein d'un système d'outils variés ouvre à une grande créativité.
D'autres exemples de commandes "simples" profitant de cette combinatoire
OK pour le dev mais pour les idées ? méthodologie
( ma question : y aurait il du bon dans les méthodes_stratégies de dev. à appliquer.implémenter à une recherche (en thèse ou autre ) ? Quelles hybridités programatives pourraient en sortir ? Et moi, quels sont mes outils de d'auto-/feedback/ et d'orientation face à un problème (par exemple de restructuration face à une nouvelle hypothèse, un doute) ? )
Cité dans ce wiki (source) :
( explications, point de vu pratique.empirique d'un dev. )
http://people.apache.org/~fhanik/kiss.html
What does that mean?
This principle has been a key, and a huge success in my years of software engineering. A common problem among software engineers and developers today is that they tend to over complicate problems.Typically when a developer is faced with a problem, they break it down into smaller pieces that they think they understand and then try to implement the solution in code. I would say 8 or 9 out of 10 developers make the mistake that they don't break down the problem into small enough or understandable enough pieces. This results in very complex implementations of even the most simple problems, another side effect is spagetthi code, something we tought only BASIC would do with its goto statements, but in Java this results in classes with 500-1000 lines of code, methods that each have several hundreds of lines.
How will I benefit from KISS
- You will be able to solve more problems, faster.
- You will be able to produce code to solve complex problems in fewer lines of code
- You will be able to produce higher quality code
- You will be able to build larger systems, easier to maintain
- You're code base will be more flexible, easier to extend, modify or refactor when new requirements arrive
- You will be able to achieve more than you ever imagined
- You will be able to work in large development groups and large projects since all the code is stupid simple
.... la suite de l'article donne de plutôt bons conseils pour optimiser son dev. (par exemple, réfléchir avant de coder...)
nodejs ... et son gestionnaire / watcher de dossiers : : /nodemon/
( sont dans un bateau )
Je découvre /PM2/ comme gestionnaire multi-apps (et logger)
( sans doute mille ans après tout le monde )
J'aime bien, je vois le potentiel de gestion...
et puis surtout quand ca plante, ca repousse
( redémarre tout seul )
C'est un outil pro et ça se sent !
Un peu l'impression d'une usine à gaz
( d'ailleurs leur /monitoring ne manque pas de /fees...) not_free
PM2 permet de créer des "écosystèmes"
( Un fichiers qui indique les environnements des app )
Pour test j'ai "découpé" les applis_services de mon serveur
( qui jusque là étaient dans le même fichier server.js )
( puis j'ai associé chaque app à un port, nginx a fait le reste en reverse proxy )

Un tuto complet step-by-step (en anglais) : https://blog.tericcabrel.com/deploy-a-node-js-application-with-pm2-and-nginx/ nginx
Un petit tuto sur https://futurestud.io/tutorials/pm2-use-npm-to-start-your-app (en anglais), j'aime bien le rythme pas-à-pas, l'interface...
Trouvez la documentation des commandes... linux cheatsheet
- https://cheat.sh/ls
curl cheat.sh/ls( ls = lister dossiers )
TLDR
Linux commandes (et tuto, tldr)
Des alternativeto :
Not installed / cant run linux
https://wiki.gnome.org/Apps/Devhelp
horsligne_offline_invisible
Ça donnait ça ( sans la moindre /obfuscation/ )
https://vincent-bonnefille.fr/index_hacked.html
Un message s'affiche alors sur la page d'accueil de mon site principale
(non encore auto-hébergé) ::
Dont un script est chargé sur le disque dur de :
http://mxian.wapgem.com

Un fichier .htaccess intégré au dossier contenant le logiciel intrusif indique :
#Coded By Sole Sad & Invisible
lescgi-scriptsont en .alfa
le tout profite d'une failleeval()
et à vrai dire je pige pas tout.
La page hackée avec un index.html de remplacement indiquait d'aller voir les logs...
Check The Security Of Your System Please
Ce que j'ai fais, l'activité accrue sur un dossier spécifique (et son formulaire) m'ont permis de trouver la faille facilement...
Formulaires : portes ouvertes
Un formulaire, ces petites boites blanches qui attendent du texte de la part du visiteur.visiteuse (bot/humain.e) permet d'envoyer et d’fexécuter du code sur le serveur directement (qui est un ordinateur capable de lancer.activer.exécuter des programmes et donc d'ajouter/supprimer/éditer des fichiers en fonctions des droits/permissions qui sont accordées).
C'est par là que le code a été exécuté.
Hack : usage détourné
Au lieu d'envoyer une image via cette page dédiée, du code non "escapé" a été exécuté. ( "escape", ça veut dire "faire sortir, échapper". Échapper du code ça consiste à convertir les caractères spéciaux qui servent à écrire du code, en autre chose : des caractères inoffensifs : à faire qu'ils s'affichent seulement, comme {ces} caractères, des lettres, des signes non interprétés comme "faisant quelque chose".
( -\:\?()\/... sont {là} escaped . \<> aussi, sinon ils seraient "lus"interprétés par le navigateur comme contenant du code à exécuter ) langage_progra
: Des caractères qui servent à écrire du code exécutable { c'est à dire qui par son langage produit des effets } en caractères qui ne contiennent pas d'ordres de commandement sur la machine.
Là le langage final interprété dans le code ajouté à mon site semble écrit du Python ...
Se faire cambrioler
Le sentiment est toujours le même suite à un "viol de propriété" ou de domaine... on fouille les dossiers, on cherche les traces de la présence et on se sent pas très bien... mais on apprend.
Et le fait que tout soit explicite, transparent, invitant à regarder le log sonne comme un avertissement. L'acte d'un.d'une White_hat ?En vrai je les remercie. Ca m'a mis la faille sous le nez et j'ai fais un peu de ménage.
Une faille de débutant
En cause de cette faille, une mauvaise gestion des permissions de fichiers (en 777)
oui ... j'avoue... et un formulaire mal sécurisé permettant l'envoi du code malveillant, son installation (avant une possible activité.usage malfaisant)
L'intrusion, le point d'entrée, à été trouvé (et exploité) à l'intérieur d'une page web accessible. Elle faisait parti d'un projet que je n'ai pas maintenu (et sécurisé comme il faut à l'époque).
Un bout de code, des pages obsolètes pour moi, oubliées sur un coin de serveur... Or, même inactif.inutilisé, un espace reste un espace : l'automatisation de recherche de failles se soucis peu des affectes et volontés : les moyens sont les moyens.
C'est moi dans ma tête qui y cherche du sens, une conspiration, un geste personnel. Un contexte explicatif... ( et j'en ai trouvé un : )
Sys.admin, un métier (pas le mien)
FunFact ... qui ne peut être tout à fait une coïncidence... je passais aujourd'hui un entretient pour des formations de Sys Admin... c'était tout à fait de circonstance.
Le Quiz que j'ai passé m'a donné une note honorable mais j'ai bien compris que je n'avais pas les qualifications d'informaticien BAC+2.
On y parlait adresses IP, Masques de sous-réseau, machines virtuelles...
en citant beaucoup Windows (8.1) comme référence/environnement...
Les termes du Quiz que j'ai recherché :
Hyperviseur 2012 / VHDX / VHD
SCVMM
GPO Starter
DCPROMO
Fôret Active Directory
Serveur AD DS
NTFS / SATA 3
Base SAM
FTP / TFTP
Couches OSI
...
J'avais bien aimé l'édition de leur expo collective en ligne
. Des pépites 2019 2020 :
. https://liens.vincent-bonnefille.fr/?bKaWvA
. . un /design/ par /floor/ (étages) en ascii_art
. . . reprenant les arborescences "par défaut" des serveurs de fichiers ftp
.
Elles.Ils reviennent et cette fois c'est la Rave 2021
actu.candidature { cf. lien.bulle }
Avec des promesses de web_performance
A la conception de leur site web =
https://basel.codes #<3
web_master web_créatifs inspiration
donnent des cours workshops... sur dn_dat
https://github.com/baselcodes/teaching/tree/master/workshops/201903WS_copy_it_right%40HGK_masterstudio
( en partant de l'install de VSCode config_install tuto)
Mes usages actuels
https://vincent-bonnefille.fr/index/torcheck/index.php
< utilisé là, pour mon "tor_easter_egg" > dn_tor_onion
https://vincent-bonnefille.fr/#tor
Je passe en fait par un service tiers...
qui récupère votre adresse IP de client distant
Surtout qu'il est restrictif et limites les accès avec CORS
Bon, c'est bof...
Par moi même j'y arrive pas
Quand j'utilise nodejs avec des modules pensés pour récupérer les adresses ip,... ce que j'ai en /output/... c'est ma propre IP loopback
= error_échec
L'adresse IP du client reste insaisissable...
L'état de ma recherche
Il me semble que cela vient avant tout du reverse-proxy Nginx
( qui sert.envoie.affiche les pages produites par nodejs (et Express) )
( Nginx gêre les transactions entre ma machine et la votre (client) )
Si j'ai bien compris je dois configurer X-Forwarded-For
Du coup Nginx doit être installé avec un module spécifique :
[ ngx_http_realip_module ] todo
PS : sur mon site principale hébergé chez OVH (pour le moment) les contenus sont distribués par Apache
"Send e-mail campaigns from a powerful dashboard. High performance and features packed into one app."
https://github.com/knadh/listmonk/stargazers
...
Aujourd'hui on m'a demandé...
Quelles sont les solutions pour envoyer des mails en masse ?.
Quel outil.service.application utiliser pour faire des listes de mails ?
Et envoyer des campagnes de mails ? newsletter
Comment inonder sans faire du /Spam/ ? spam_scam
Comment avoir un chouette /Marketing/ mail ?
Les plus connus du /game/...
MailChimp site ?
SendinBlue site ?
( not-free not open_source )
...
MailChimp et moi
Des alternatives à /MailChimp/ il y en a.
MC reste ma référence, j'ai commencé avec, je connais ses limites.
La limite avec les /freenium/ (services gratuits avec fonctions payantes/"prenium") se passe souvent du côté de la taille des listes. 1000, 10.000 ca dépend.
Je ne suis pas { là } pour faire une étude de marché complète (/Brenchmark/)
La création de formulaires d'inscription est facile à intégrer à un site web...
Ce que je peux dire c'est que MC envoie bien...
Le suivi de traçage est "cool" (ouverture/clics)
Les mails s'envoient bien...
Le /builder/ est accessible pour les non codeuses.codeurs.
. Et il y en a un pour les codeurs qui veulent adapter le /template/, la mise en page...
. Même s'il est vrai que y a du darkpatern au niveau de l'UX : on se perd par fois.
Et surtout, donc, on est limités en envoi/liste de mails
...
Une alternative ? ( svp )
Alors moi, mon réflexe c'est de chercher des alternativeto
D'autres logiciels, de préférence en self_host_hébergement
Et je ferais bien tourner un système de mails / listes sur mon raspberrypi (et oui)
Comme ça on a plus de limite ;)
Ma petite expérience
- Par le passé j'ai déjà test ...
phplist qui s'installait bien sur en php sur un serveur mutualisé d'OVH ( une machine sur laquelle j'avais très peu de moyen de faire tourner autre chose ) - J'ai aussi testé la référence open_source :
Sympa - Sinon du côté des associations.militances je sais qu'on va souvent chez
RiseUp !!!
. . qui propose aussi des adresses email et vpn
Je vois que la @FDN utilise /Sympa/ pour tenir au courant de l'état de son réseau (et autre) : liste démo
Et les campagnes ? ( tout en un )
... mais bon /phplist/ ou /sympa/ font pas de gestion de campagne
... des listes quoi (on envoie un mail à compte@framalistes.org qui va le transférer/envoyer à toutes les copaines)
... ce que j'envoie depuis ma boîte mail n'a pas d'outil de mise en page.forme, de /campagnes builder/
Auto-hébergé ? ( oui )
listmonk semble le mieux placé...
Voilà ce que nous sort le site /AlternativeTo/ :
https://alternativeto.net/software/listmonk/?platform=self-hosted
phplist / mailtrain (site /down/ ?) ...
Bon je vais test Listmonk ( a l'air facile à installer sur linux ou déployer via /Heroku/ )
Et puis Sympa ( avec /framasoft/ et leur démo )
BONUS
/Framalist/ fait la promotion de http://www.collecti.cc ...
qui propose des services de de web responsable, "éthique" ?, des ressources / MOOC pour monter.gérer un projet réellement collaboratif (gouvenance...) altweb #<3 cours
Et nous a fait un article et infographie.visuel pour expliquer quel type de mailing/newletter/groupe liste choisir
jai-besoin-denvoyer-un-mail-a-un-groupe-ou-les-avantages-dun-liste-de-discussion 2017
Tient tient tient...
/Piwik/ devient .pro et /Matomo/...
L'outil open.source, alternativeto /Google Analytics/ se chercherait une modalité d'existence et rétribution en tant que service /Freenium/ ( gratuit en grande partie - avec des options /Prenium/).
Sans doute une volonté de survivance et déploiement de l'entreprise salutaire.
Car avoir un outil libre, alternatif au géant des GAFAM_NATU est une très très bonne chose.
Son service de ads_tracking est aujourd'hui embarqué-installé sur des milliards de sites web par des web_master esclaves-dépendants de cet outil.
Il leur permet une veille sur leur admin (administration), de "voir"."suivre". . . comment on clique ou pas sur tel lien. . . si on est un bot ou nouvellæ visiteur.euse . . . d'où on se connecte . . . combien de temps on reste sur une page : : plein d'infos super importantes pour ajuster un /marketing/ et augmenter ses points en matière de SEO .
Pour beaucoup de sites, cette vision des usages et consommations des contenus qu'ils produisent est CAPITAL .
/Piwik/ ce sont les yeux et les oreilles de la chasseresse du web à l'affût d'un feedback lui indiquant le chemin à prendre ( quel politique.stratégie la plus adaptée ) pour atteindre sa proie au plus vite.
Gérer son espace publicitaire est au centre de l'économie du web formé autour des données. La création d'un siteweb est pensée pour et par cet impératif ( parfois au détriment du contenu qui devient secondaire.accessoire )
Cet espace public est pensé pour influencer / produire des comportements consommateurs ( nudge ) : pour augmenter le temps d' attention porté.capté ...
Se doter d'un outil alternatif de suivi veille est donc important dans l'écosystème du web .
Aussi, aujourd'hui je me demande se que valent ces offres.produits émergeants-nouveaux_venus .
Quels alternatives sur ce marché ?
https://alternativeto.net/software/piwik/about/
https://alternativeto.net/software/piwik-pro/about/
https://alternativeto.net/software/ackee/about/ nodejs
https://alternativeto.net/software/shynet/about/ privacy_vie_privée
( les deux derniers me tentent bien en auto-hébergement todo self_host_hébergement )
Hello, dear log_perso
Mise à jours en cascades...
D'abord linux debian passé de /Buster/ à /Bullseye/
avec ce tuto : https://pimylifeup.com/upgrade-raspberry-pi-os-bullseye/
. J'avais fait plusieurs fois le test (avec échec/erreurs)
. Le kernel passe entièrement en 64bit
. . Je ne mettais pas à jour ce paramettre crutial de démarrage
. La màj est longue mais le résultat est trop frais.
= interface revu, corrigé, des rapidités
= une meilleure convivialité ( /xfce/ et lxde )
. . Dont le bureau et son menu customisable ( "applets"/"plugins" )
. . Plus souple et libre que sur Mac / Windows (bien entendu)
Biensûre des ajustements ont été nécessaires...
La réinstallation / configuration de pi_Bluethooth + Python . . .
Ensuite, dans la foulée...
Paramétrage de Nginx et prise en compte de l'up' de /PHP7.4/
. Basculement (et maj) de Nextcloud en 100% Nginx
C'est déjà noel et je suis bien retombé sur mes pieds...
ou presque...
Services HS, fix à venir todo error_échec
Motioneye eye.vb ... piste FIXED
Wallabag walla.vb piste piste1 ... PHP7.4 pris pour cible... FIXED
GRRRR... piste1+
FIXED... une semaine +plus tard ... avec réinstallation complète...
. L'occasion de remettre le nez dans /rabbit_mq/ et /Redis/ ( et de le sortir aussi vite )...
. . et d'installer...
. . une nouvelle mouture wallabag (+plus fluide et /design/ revu)
. . . Une occasion pour déplacer ma base de données Mysql ...
. Ajout d'un RSS_reader_parser en nodejs par ici
( l'ancien en PHP dysfonctionne, je fais au plus simple maintenance )
Nouveau venu : un /RSS finder/ ::
https://node.vincent-bonnefille.fr/rss_finder
bulle de contexte ( c'est quoi un RSS déjà ? )
Coucou
Après l'exposition avec le CAG+
j'ai trouvé un bug sur ma version web :)
sur le projet_perso chat_chouquette
Et ce bug : c'est moi
j'avais modifié une fonction de base
ca faisait que quand je modifiais mon code (page index.php) rien n'était pris en compte au chargement de la dite page ( par mon navigateur_browser et autres visiteurs )
J'ai d'abord crié au complot
Puis au cache de mon navigateur de se vider
À mon hébergeur et serveur FTP de réagir...
J'ai cherché.
...
Et puis j'ai trouvé.
En indiquant l'adresse complete du projet avec index.php dans l'URL (adresse web) ça marchait.
sans je retombais sur une chouquette malade, des bugs
ET cela peu importe le chouquette (le sous dossier de projet)
RSI / Solidaires / Darknets
Toutes ces pages me renvoyaient le même bug ...
...
C'est comme ca que j'ai compris...
Comme cela que je me suis rapellé que par soucis de gain de temps...
J'avais demandé au serveur d'agir tout autrement que comme il devrait par défaut
Que plutôt que de charger le fichier "index" il en charge un autre...
et cela pour tous les sous-dossiers...
...
cut, détail, explications
...
Bref
à faire simple on finit par tout compliquer...
surtout quand on ne documente pas son code.
Suite du log ::
J'ai fini ma journée à mettre à jour le system d'upload de fichiers
(de mes chouquettes) (j'ai pas fini) (maintenant si)
(j'ai décentralisé les pages d'upload/admin pour n'en avoir qu'une à modifier)
(j'ai par contre laissé les chouquettes.index charger leur index.par_défaut)
Ajouts
Restitution des dossiers (par défaut)
Appel des dossier par parameters (?folder=....)
( Finalement non ... pose problème pour une arborescence avec sous-dossiers )
( = choisi un mix' utilisant htaccess
/dossier/ > index du dossier ... normal
/up.php (fichier vide) > upload.php (centralisé.core) )
Ajout d'un "switch" entre les dossiers listés
Ajout d'une fonction de "lock" sur certains dossiers
MàJ des chemins (changés en centralisant le fichier.index.admin)
Demo
https://vincent-bonnefille.fr/chat-chouquette/RSI/fichiers/01_MOVE_others/up.php
BONUS
Sur ces questions de design/fonction par défaut...
je conseille ce super article (et super site) qui questionne l'usage et de création collective au sujet de l'interface ftp .. #<3 #! proto technique_article
@Etienne_Cliquet
http://003.directory/2001_Esthetique-par-Defaut/ walla @aR
<- #.dead --> https://web.archive.org/web/20220706050032/http://003.directory/2001_Esthetique-par-Defaut/
A motivé l'écriture de ce petit log/retour d'expérience perso...
on git :
maxboeck/webring: A boilerplate for hosting a webring community
https://github.com/maxboeck/webring
... search a git
Search · webring
https://github.com/search?q=webring
... like :
jackmcdade/weird-wide-webring:
The web needs a little more weird. These sites are helping. Apply to join!
https://github.com/jackmcdade/weird-wide-webring
webring 3.0
How You Might Build a Modern Day Webring | CSS-Tricks
https://css-tricks.com/how-you-might-build-a-modern-day-webring/
webring origins histoire
Webring History: Social Media Before Social Media
https://tedium.co/2020/11/20/webring-history/
Sites au design brutalist.... interview
Le partage et la liberté !
Cependant, ma naïveté m’a fait penser, à tort, que tout était beau dans le meilleur des mondes. Microsoft a publié le code de cet éditeur en open source sur GitHub sous licence MIT. En simplifiant, cette licence très permissive fait que tout le monde peut prendre le code et le réutiliser dans tout les contextes.
C’est merveilleux, un éditeur ouvert qui est adopté par beaucoup de développeur avec un écosystème très dynamique et des tonnes d’extensions. Que rêver de plus ?
La descente…
Ce qui m’avait échappé c’est que les binaires distribués par Microsoft sur le site officiel ne sont peut être pas tout à fait publié sous ces mêmes règles.
- NodeJS et ses problèmes
: Promesses tuées dans l’oeuf
: Sécurité faible
: Le système de build (GYP) à la dérive
: Le package.json et NPM indispensable
: Le système de modules et le fameux dossier node_modules - Deno c’est quoi ?
- Deno et ses solutions
- Deno en action
- Deno et NodeJS dans le futur
Backup, /media/BC_02/bkp/shaarchiver/
alternatives a Shaarli
dont
https://sourceforge.net/projects/semanticscuttle/
- Active MARKDOWN with fixes
http://shaarli.guiguishow.info/?PAenmg
Petite liste des CMS dit FLAT_Files
C'est à dire avec moins de base de donnée
avec une meilleure transportabilité,
avec des articles modifiés par acces sFTP...
L'occasion de découvrir Grav
ainsi que Twig ( du PHP bien cool )
ça change de Wordpress...
Des nomenclatures de dossiers en guise d'arborescence...
Une légereté évidente dans le traitement et l'affichage des contenus.
Une masse de plugins...
La question reste entière entre Markdown et un bonw vieux WYSiWYG
Md donnant tout son sens aux Flats ( interface.less )
===
Et y en a plein d'autres ::
https://automad.org
https://www.bludit.com
:
Un Slant
https://www.slant.co/topics/9652/~flat-file-cms
... une petite étude de market
<3 https://w3techs.com/technologies/comparison/cm-bludit,cm-grav,cm-octobercms
+ https://blog.madrzejewski.com/offloader-ssl-nginx-reverse-proxy-apache/
How to create a onion site mirror of your clearnet website and host it on the same web server that is currently hosting your clearnet website.
The Tor Browser will display a “.onion available” button ( purple button ) in the address field for encrypted websites (HTTPS) that includes the new header. Clicking it will redirect the user to the same webpage on the Onion site
+ https://community.torproject.org/onion-services/advanced/onion-location/
+ https://github.com/alecmuffett/real-world-onion-sites/blob/master/README.md (cool list of UK+US onions)
...avec Deadalus https://github.com/iTXTech/Daedalus .
Configurez android (sans Root) pour accéder à vos site web hébergés localement (LAN)... modification du fichier Hosts (temporaire entant que VPN) permettant de modifier la façon dont une requête web est dirigée vers un serveur. Utile pour bloquer des publicités (comme Adblock) en pointant le contenu de ces sites (pub hébergées sur un serveur) vers un trou noir, dans le vide (par exemple).
J'ai aussi testé la solution payante et moins complète HostsGo qui n'avait pas autant d'options. Ce tuto explique comment utiliser Pastebin comme serveur de vos règles DNS (permet de synchroniser plusieurs machines).
Permet l'utilisation d'un service DNS alternatif et l'usage de règles DNSmasq
Pré processor installation ( sur vsc )
https://youtu.be/MOstrhqpIsI
https://sass-lang.com
"There are many ways you can go about picking up the skills you need to become a developer.
There are linear curriculums that teach you a bit of everything - like freeCodeCamp's full stack development curriculum."
Par où commencer pour apprendre à coder ?
full_stack https://fr.wikipedia.org/wiki/D%C3%A9veloppeur_full_stack
2019 2020
Caltulateur octal des permissions de fichiers folders
Tuto français
https://www.hostinger.fr/tutoriels/chmod-chown-linux/
Par Null Byte 2018
698 k abonnés
How to Find Domains for Phishing Attacks with Dnstwist
Full Tutorial: https://nulb.app/x4ad1
En ligne :
https://dnstwist.it
https://dnstwister.report
Quelles sont les options ?
Trouver un hébergement et un nom de domaine
Suggestions pour trouver hébergement et domaines
Utiliser un outil en ligne comme GitHub
Utiliser un EDI web tel que Thimble*
Publier via GitHub
Lectures pour approfondir dont
https://www.codecademy.com/learn/deploy-a-website
- migré vers http://glitch.me/
JSFiddle
JSBin
CodePen
"Dans le jargon de la sécurité informatique, un honeypot est une méthode de défense active qui consiste à attirer, sur des ressources, des adversaires déclarés ou potentiels afin de les identifier et éventuellement de les neutraliser."
Projet de lutte contre le spam
https://www.projecthoneypot.org/
HP en français, leur fonctionnement, les stratégies, quelques tutos ressources
http://igm.univ-mlv.fr/~dr/XPOSE2009/botnets/honeypot.html
Liste d'HP en anglais
https://github.com/paralax/awesome-honeypots
https://www.smokescreen.io/practical-honeypots-a-list-of-open-source-deception-tools-that-detect-threats-for-free/
A project by @Joana_Moll
" Typically, a tracker is a piece of code placed within a particular website that allows to monitor and collect data on user behavior. For instance: a tracker can automatically know where a user is based, which computer they’re using, which sites have been visited before accessing a particular site, and which webpages will be accessed in the future – among other more detailed and personal information. The US is currently enforcing embargoes and sanctions against Cuba, Iran, North Korea, Sudan, Syria, and the Ukrainian region of Crimea. "
" This project has been developed as part of the web residency program — Blowing the Whistle, Questioning Evidence - curated by Tatiana Bazichelli for Solitude & ZKM. "
Web résidence du ZKM
J'aime beaucoup ce projet,
la mise en valeur des données, le scraping avec tor
- Crée de la confusion à l'endroit de la propriété des données et de l'information
à l'endroit des États représenté en ligne www - Ils ont en communs d'avoir leur code "occupé" par Google, en "sortant"
- Cela pose des questions de gouvernance #.p
quotes ( homepage project )
" a tracker can automatically know where a user is based, which computer they’re using, which sites have been visited before accessing a particular site "
" American IT giant, have been found within several websites owned by countries under US embargo "
" US is currently enforcing embargoes and sanctions against Cuba, Iran, North Korea, Sudan, Syria, and the Ukrainian region of Crimea "
" It is important to remember that these websites are stored inside hard disks placed in physical territories "
" "ALGORITHMS ALLOWED" unfolds as an ongoing investigation that reveals the many US tracking and online services embedded in websites representing US embargoed countries, thereby exposing the ambiguous relationship between code, public policy, geopolitics, economics, and power in the age of algorithmic governance. "




JavaScript is dangerous! Why? How are websites vulnerable to it? Find out about bug-bounties from @Tom_Scott
Research if the stuff you're including is actually awesome. Only put stuff on the list that you or another contributor can personally recommend. You should rather leave stuff out than include too much.
Ces objectifs peuvent être les suivants :
- collecter des données personnelles (l‘e-mail en tête de liste)
- augmenter le panier moyen
- augmenter le trafic
- favoriser la rétention
- améliorer le taux de clic (sur une publicité par exemple)
WHAT ARE DARK PATTERNS?
Dark Patterns are tricks used in websites and apps that make you do things that you didn't mean to, like buying or signing up for something. The purpose of this site is to spread awareness and to shame companies that use them.
NEW link cette {bulle} :
https://informationisbeautiful.net/visualizations/worlds-biggest-data-breaches-hacks/
OLD
.dead = https://zhenjess.github.io/Breach/
Trends and Patterns
Through the years 2014-2019, there is an upward trend in the number of reported data records breached.
As the amount of data produced around the world increases, the amount of data breach incidents also fluctuates.
Data breachs
-- année après année :
visualisation des failles-fuites de données
XSS tool python check vunerability
HOCXSS is an easy way for the penetration tester and bug bounty hunters to test Cross site scripting. It has featured with crawling, detection parameter discovery, WAF detection capabilities as well.
Leaks of datas
HTTPS , HSTS ,
Referrer Policy ,
Content Security Policy ( CSP )
...
Check security on your website
From : https://neustadt.fr/essays/against-a-user-hostile-web/
SEO analyse from google
- The 1st Result In Google Gets 31.7% of All Clicks
- Question Titles Have an Above-Average CTR
- Title Tags Between 15 to 40 Characters Have The Best CTR
- Keyword-Rich URLs Are Correlated With a Significantly Higher CTR
...
Upload d'un template basic
--
Ressource templates :
HTML5UP: https://html5up.net/
Introduction à git interactive en français
Comment se déplacer de branche en branches
Multiples commandes, courbe d'apprentissage progressive








