Skip to main content
Advanced Search
Search Terms
Content Type

Exact Matches
Tag Searches
Date Options
Updated after
Updated before
Created after
Created before

Search Results

233 total results found

📝 Utiliser Docker Compose

DevOps

version: '3' # On peut définir plusieurs conteneurs d'un seul coup en utilisant docker-compose # Et si on modifie ce fichier, cela va supprimer les anciens docker pour les mettre à jour services: db: # On défini l'image # Sinon on peut aussi utilise...

🔌 Réseau, reverse proxy avec Traefik

DevOps

Maintenant, quand on veut pouvoir avoir plusieurs services sur un même port avec des noms de domaines différents. On doit utiliser un reverse-proxy, on peut par exemple utiliser nginx mais ce n'est pas pratique car cela sort de l'écosystème Docker. Donc à la p...

👀 Visualiser tout avec Portainer

DevOps

Portainer est un super outil pour avoir une interface web pour gérer tout à propos de Docker : images, stacks (docker-compose), conteneurs, volumes, réseaux, etc. On va utiliser traefik comme reverse proxy avec portainer. Sauf que si on met les deux dans le mê...

🗃️ Archiver un site et des images

DevOps

Voici comment j'ai fait pour faire un backup complet de mon site avec Docker. Ce site était un site Bookstack qui était donc composé de Bookstack, de dépendences PHP ainsi que d'une base de donnée mariadb. Malheureusement je ne peux pas simplement migrer le si...

Introduction

Rust

Rust a commencé comme projet personnel de Graydon Hoare en 2006, un employé chez Mozilla, Mozilla va ensuite sponsoriser ce projet et compte l'utiliser pour programmer un futur moteur de navigation prévu pour être plus rapide que Gecko (utilisé pour Firefox). ...

Installation et Hello World

Rust

Pour commencer notre découverte de Rust on va d'abord devoir installer rustup. On peut l'installer via des gestionaire de paquets (chocolatey sous Windows, brew sous mac, ou apt sous debian par exemple). Sinon les instructions pour l'installer sont disponibles...

Variables et types primitifs (et cast)

Rust

En rust les variables sont définie avec let et sont immuable par défault // Cette variable est immuable let x = 42; // Cette variable est muable (peut être modifiée) let mut y = 42; // On peut préciser un type avec : // Préciser les différents types n'est pa...

Strings et affichage formatté

Rust

On a vu dans le chapitre sur les types primitifs que l'on peut faire des chaines de caractères avec &str, mais ici on va voir la version plus évoluée avec String Ce type plus complexe a beaucoup de méthodes et de possibilités. D'abord voyons comment le créer :...

Ownership, lifetimes et références

Rust

Maintenant il faut s'attaquer à quelque chose de très important dans Rust : la manière dont laquelle la mémoire est gérée. Les types de mémoire Pour comprendre tout ceci, il faut d'abord que l'on s'attaque aux types de mémoire: le stack et le heap Le stack (...

Vecteurs et HashMap

Rust

Vecteurs Les vecteurs sont des listes à taille variable fn main() { // Je peux créer un vecteur mutable (qui peut être modifié) comme ceci : let mut ma_liste = vec![1,2,3,4,5,6,7,8,9]; println!("Ma liste est {:?}", ma_liste); // Je peux ensuite ajouter d...

Enums et gestion d'erreurs (Result et Option)

Rust

Rust exige toujours de gérer les cas où il y aurait une erreur d'une manière ou d'une autre. Toute commmande qui pourrait donner une erreur rendera un type Result<> et toute commande qui pourrait ne donner rien retournera un type Option<>. Il y a plusieurs man...

Les fonctions (méthodes et closures)

Rust

La différence entre une méthode et une fonction sera évoquée au chapitre sur les implémentations Définition d'une fonction fn ma_super_fonction() { // Cette fonction ne retourne rien println!("Hello World"); } fn addition(a: i32, b: i32) -> i32 { // Cett...

Structures, implémentations et traits

Rust

No Boilerplate → 🛰️ Building a space station in Rust (Simple Rust patterns 📚) [RUST-8] Structure Un struct ou structure est un type de donnée personnalisé qui permet de rassembler plusieurs propriétés. (C'est un peu comme un "objet" dans la POO) // Création ...

Histoire de l'informatique

Architecture des ordinateurs Histoire de l'informatique

Dès le début de l'humanité, nous avons commencé à compter. D'abord on a compté en base 1 (base unitaire). Par exemple, 1 mouton = 1 caillou (d'où calculus qui donne le mot calcul en français) Un nombre est une quantité que l'on veut représenter, tandis qu'un ...

Deux millénaires de progrès

Architecture des ordinateurs Histoire de l'informatique

Vers 500av JC, nous avons commencé à compter avec des bouliers, des tables à compter et des bâtons de Neper Fonctionnement d'un bâton de Napier 1614: John Neper invente la théorie des logarithmes. Grace aux logarithme il est possible de remplacer la multip...

Les tubes à vide (1945-1955)

Architecture des ordinateurs Histoire de l'informatique

En 1943, le premier ordinateur digital "COLLOSUS" mais est un secret militaire. En 1945, l'ENIAC est créé. Voir l'article Wikipedia pour se rendre compte à quel point l'ENIAC est énorme. Wikipedia - ENIAC En 1945, John von Neumann propose une évolution de ...

Les transistors (1955-1965)

Architecture des ordinateurs Histoire de l'informatique

Après les tubes à vide, il y eu les transistors. Beaucoup plus rapide, plus fiable et moins cher que les tubes. C'est aussi à cette période que des languages plus évolués comme le FORTTRAN et le COBOL apparaissent. Ainsi que des composants comme des imprimante...

Les circuits intégrés (1965-1970)

Architecture des ordinateurs Histoire de l'informatique

Les circuits intégrés sont essentiellement de très petits trasnsitors dans une petite boite. Encore une fois: moins cher, plus fiable et plus rapide En 1958, le premier circuit imprimé par Texas Instruments En 1964, première gamme d'ordinateurs par IBM qui soi...

Microprocesseurs (1970-???)

Architecture des ordinateurs Histoire de l'informatique

Toujours pareil, plus petit, moins cher, plus performant et plus fiable. En 1971, premier microprocesseur (ayant une puissance similaire à l'ENIAC) En 1973, création du language C pour le développement de UNIX En 1978, création de la famille de processeur x86 ...

L'évolution des performances

Architecture des ordinateurs Histoire de l'informatique

A partir des années 70s, avec l'intégration toujours plus poussée des composants sur une puce et l'augmentation de la capacité de calcul En 1965 Gordon Moore, constate que depuis 1959, la complexité des circuits intégrés à base de transistors double tous les a...