901 private links
Learn the fundamentals of Scalable Vector Graphics (SVG) from the basics up to advanced concepts like animation and interactivity.
Page d'accueil de la campagne Pensez cybersécurité du gouvernement du Canada. Connaissez les risques, apprenez à vous protéger et obtenez de l'information sur les façons de protéger vos appareils.
In today's dynamic world of software development, staying up-to-date with the latest tools, libraries, and frameworks is crucial for developers.
GitHub offers a treasure trove of valuable repositories that can significantly enhance your development skills and expertise.
I've compiled a list of 19 GitHub repositories that every developer should be aware of, providing a rich source for learning, practicing, and inspiration.
Each repository is divided into subcategories for easier navigation. I've also included direct links and descriptions to get the impression right away.
Comment jouer ?
- 1. Choisissez l'option qui vous semble la moins polluante.
- 2. Validez votre choix.
- 3. RĂ©pondez Ă l'ensemble des questions du jeu.
- 4. Découvrez votre résultat.
Attention : Le site que vous allez construire n'est qu'un exemple.
L'Ă©co-conception commence maintenant pour vous, bon courage !
Cette documentation vise à vous plonger dans le monde de l'administration des services sur des serveurs, en mettant l'accent sur les principaux aspects qui contribuent à leur succès. Dans un environnement en constante évolution, où la cybersécurité est devenue une préoccupation majeure, la gestion des configurations, la fiabilité, la haute disponibilité, la sauvegarde, la reprise sur incident, et l'analyse des logs doivent être des priorités de tout administrateur système.
Forgot your Linux root password? No worries! Our guide provides easy-to-follow instructions to reset and change it safely.
TL;DR
In GRUB menu:
- Find the line starting with “linux” and make sure it contains
rw
and notro
. - Then go and append
init=/bin/bash
to the end of the line. - Press Ctrl+x to start boot process.
- Change password
passwd
.
Il existe de nombreux types de bases de données, chacune ayant ses propres avantages. Nous comparons les différents types de bases de données et ce que chacune d'entre elles propose
This detailed guide gives you an effective Open Source license comparison. It should help you choose the right Open Source license for your project.
The SHA-256 algorithm is a widely used hash function producing a 256-bit hash value. It is used in many security applications and protocols, including TLS and SSL, SSH, PGP, and Bitcoin.
Calculating a SHA-256 hash in JavaScript is easy using native APIs, but there are some differences between the browser and Node.js. As the browser implementation is asynchronous, both of the examples provided will return a Promise
for consistency.
Browser
In the browser, you can use the SubtleCrypto API to create a hash for the given value. You first need to create a new TextEncoder
and use it to encode the given value. Then, pass its value to SubtleCrypto.digest()
to generate a digest of the given data, resulting in a Promise
.
As the promise resolves to an ArrayBuffer
, you will need to read the data using DataView.prototype.getUint32()
. Then, you need to convert the data to its hexadecimal representation using Number.prototype.toString()
. Add the data to an array using Array.prototype.push()
. Finally, use Array.prototype.join()
to combine values in the array of hexes
into a string.
const hashValue = val =>
crypto.subtle
.digest('SHA-256', new TextEncoder('utf-8').encode(val))
.then(h => {
let hexes = [],
view = new DataView(h);
for (let i = 0; i < view.byteLength; i += 4)
hexes.push(('00000000' + view.getUint32(i).toString(16)).slice(-8));
return hexes.join('');
});
hashValue(
JSON.stringify({ a: 'a', b: [1, 2, 3, 4], foo: { c: 'bar' } })
).then(console.log);
// '04aa106279f5977f59f9067fa9712afc4aedc6f5862a8defc34552d8c7206393'
Node.js
In Node.js, you can use the crypto
module to create a hash for the given value. You first need to create a Hash
object with the appropriate algorithm using crypto.createHash()
. Then, use hash.update()
to add the data from val
to the Hash
and hash.digest()
to calculate the digest of the data.
For consistency with the browser implementation and to prevent blocking on a long operation, we'll return a Promise
by wrapping it in setTimeout()
.
import { createHash } from 'crypto';
const hashValue = val =>
new Promise(resolve =>
setTimeout(
() => resolve(createHash('sha256').update(val).digest('hex')),
0
)
);
hashValue(JSON.stringify({ a: 'a', b: [1, 2, 3, 4], foo: { c: 'bar' } })).then(
console.log
);
// '04aa106279f5977f59f9067fa9712afc4aedc6f5862a8defc34552d8c7206393'
Notes
- The two implementations are not compatible with each other. You cannot use the browser implementation in Node.js and vice versa.
- Both implementations should produce the same result for the same input.
Pour simplifier les explications, les résolveurs DNS sont des services qui permettent de convertir un nom de domaine (google.com) en adresse IP (172.217.168.238). Par défaut, vous utilisez les résolveurs DNS fournis automatiquement par votre fournisseur d'accès, mais il est possible d'en utiliser d'autres.
Dans un précédent article, je vous avais présenté BorgBackup et comment l'utiliser pour effectuer des sauvegardes sur un disque local. Aujourd'hui, je vais vous expliquer comment effectuer les sauvegardes sur une machine distante via SSH et comment sécuriser et automatiser tout ça.
A protip by nicolaslazartekaqui about vim.
TL;DR
To convert all text to lowercase and to uppercase in vim do:
ggVGu
ggVGU
Function in search/replace, do this to lowercase and to uppercase (example):
:%s/[A-Z]/\L&/g
:%s/[A-Z]/\U&/g
Une fois qu'on a bien transpiré et configuré proprement son [serveur de messagerie](https://fr.wikipedia.org/wiki/Serveur%20de%20messagerie%20%C3%A9lectronique "Consultez l'article "Serveur de messagerie électronique" de l'encyclopédie libre Wikipedia"), comment vérifier s'il marche ? En écrivant un message ? Cela ne teste que la moitié du trajet, il serait bien d'avoir aussi une réponse... Si on a des copains patients, on peut leur écrire et solliciter une réponse mais c'est assez abusif. Il vaut mieux compter sur un programme qui répondra à chaque fois, sans se lasser, et qui pourra en prime vous indiquer à quoi ressemblait le message entrant. Quelles sont les adresses qui correspondent à un tel programme ?
12-Factor-App est un ensemble de principes décrivant une manière de créer des logiciels de type Software-as-a-Service. (SaaS) qui, lorsqu'ils sont suivis, permettent de créer du code qui peut être pub...
Un administrateur peut implémenter des changements sur un ordinateur qui affecteront les autres utilisateurs. Il/Elle peut modifier les paramètres de sécurité, installer et désinstaller des logiciels, accéder à l'ensemble des fichiers de...
TL;DR
net user administrator /active:yes
Comment générer ses propres certificats SSL à des fins de développement
Windows 10 et Windows 11 sont des systèmes d’exploitation pensés pour s’utiliser avec la souris.
Mais il existe des raccourcis claviers afin d’accéder à des menus ou effectuer certaines actions.
Ce sont des combinaisons de touches pour effectuer des actions spécifiques.
- Comment installer VirtualBox additions invités (Guest Additions)
- Comment débuter et utiliser VirtualBox
- VirtualBox : Copier/coller entre la VM invité et machine hôte
- VirtualBox : configurer le réseau
- VirtualBox : comment créer une machine virtuelle
- Comment installer MacOS Monterey sur Virtualbox
- Créer une VM VirtualBox en ligne de commandes avec VboxManage
- Comment exécuter une VM VirtualBox en ligne de commande avec VboxManage
- Accélérer et optimiser une VM VirtualBox
- Comment installer VirtualBox additions invités (Guest Additions)
- Comment débuter et utiliser VirtualBox
- VirtualBox : Copier/coller entre la VM invité et machine hôte
- VirtualBox : configurer le réseau
- VirtualBox : comment créer une machine virtuelle
- Comment installer MacOS Monterey sur Virtualbox
- Créer une VM VirtualBox en ligne de commandes avec VboxManage
- Comment exécuter une VM VirtualBox en ligne de commande avec VboxManage
- Accélérer et optimiser une VM VirtualBox
- VirtualBox : GĂ©rer une VM en ligne de commandes avec VboxManage
- Virtualbox : exécuter Linux Ubuntu, Windows ou Debian dans une machine virtuelle
- Virtualbox : convertir un disque de taille fixe en taille dynamique
- Virtualbox : réduire/augmenter la taille du disque virtuel
- Comment installer Windows 11 sur Virtualbox
- VirtualBox : se connecter Ă une machine virtuelle Ă distance
- Comment créer un dossier partagé sur VirtualBox
- Quels sont les raccourcis clavier de Virtualbox
- Comment importer/exporter une machine virtuelle Virtualbox
- Comment mettre Ă jour VirtualBox (Windows & Linux)