Philosophie 2.0

Last modified by Antony Desmeaux on 2024/03/16 20:08

Comprendre et suivre le projet

À quoi bon si ce n'est pour le partager ? C'est toujours un travail d'équipe, même quand on n'en a pas l'impression.

L'informatique

Contraction d'"information automatique", cette discipline consiste à automatiser la transmission, la transformation et le stockage de l'information (textes, nombres, images).

La mathématique : la langue de base

Rien ou quelque chose, 1 ou 0. Cela suffit pour tout le reste, c'est cette différence entre rien et quelque chose qui permet de créer une "donnée". La plus petite donnée possible est donc binaire.

Pour bien comprendre comment on en fait quelque chose, il faut s'intéresser aux protocoles, "Comment les données sont formatées avant d'être envoyées ?".

information Il faut également s'intéresser à l'assembleur, le langage informatique de plus "bas-niveau", le plus éloigné de l'humain, le plus proche de la machine, du 0 et du 1.
À l'inverse, les langages de "haut-niveau" sont faciles à lire... quand ils sont bien écrits ! On va y revenir...

Le "back" et le "front", le moteur et la carrosserie

Nous accédons à l'informatique à l'aide d'interfaces (souvent qualifiées d'"UI" pour "User Interface"), ce sont principalement des écrans qui nous permettent de communiquer avec la machine. Ce que nous présentent ces écrans n'est pas le fruit du hasard, mais celui du travail de milliers d'informaticiens pendant des dizaines d'années. Merci à eux.

Cette partie-là, l'interface utilisateur, est qualifiée de "front" (pour "en face").

Le front n'est pas qu'une image, nous pouvons interagir avec et le résultat de cette interaction se passe dans le "back" : les algorithmes développés pour "faire réagir l'image (l'interface utilisateur), à une information (issue d'un périphérique : clavier, souris)".


Le "back"

Ah, le C++, mon 1ᵉʳ amour. L'orienté objet, le clean code... c'est beau un algorithme quand c'est bien écrit.

Rust

Open source

Première idée : écrire Eden en C++ ("la maison").

Mais... ne fait-on pas mieux aujourd'hui ? N'y a-t-il pas un néo-language, qui prend ce qui se fait de mieux tout en s'émancipant des erreurs héritées ? Si, peut-être même plus d'un mais l'avantage de Rust (qui est le gagnant de l'histoire), c'est que même Linus Torvalds s'y intéresse pour réécrire le noyau de Linux (et Google comme alternative au C/C++ pour leur projet Android Open Source). Rien que ça !

SOLID principles

Eden : comment ça marche ?

Eden est un logiciel, un outil 2.0 dans le sens où il permet d'atteindre plus rapidement un objectif (but d'un outil, être utile) tout en étant "abstrait", numérique (d'où le 2.0).

Le code source est disponible ici.

Une base de données de plus de 30,000 plantes est utilisée afin d'extraire celles adaptées à un environnement donné (type de sol, ensoleillement, humidité et température).

Ces plantes sont ensuite arrangées de manière à maximiser les interactions positives entre elles et d'ainsi réduire l'intervention humaine. Encore beaucoup de travail à réaliser sur ce dernier point.

L'idée, optimiser ce type d'initiatives : Permaculture Design.

Debian

Qu'est-ce que Linux ? Et ce Deb-Ian ? (Debra Lynn & Ian Murdock ?)

C'est actuellement l'OS sur lequel tourne la version en ligne d'Eden.

Debian est basé sur Linux (il possède le même code source de base), Linux qui est un OS (Operating System) open source, créé par Linus Torvalds. Merci Linus, tu nous as permis d'accéder à la base de l'informatique, librement.

L'OS est le logiciel au cœur de l'ordinateur / du serveur (c'est techniquement la même chose), ça mérite de s'y attarder.

Kernel_Layout.svg.png

NginX

De l'ordinateur aux ordinateurs du réseau

Nginx est le "serveur web" qui permet d'atteindre l'interface d'Eden à l'aide d'un URL. Identifier l'adresse (IP + port) du front d'un logiciel servit par une interface HTML, c'est ça le but principal de Nginx.


Le "front"

Le site internet

Pour exister au XXIᵉ siècle, un site internet est très utile. Le nom de domaine vanaprincipia.com et vanaprincipia.fr ont été achetés et un template a été utilisé pour créer le site sans partir de zéro (merci l'open source) : themewagon.

XWiki

Partager l'information

Vous y êtes ! Un site internet facilement accessible et modifiable par tous. Comment rêver mieux pour partager l'information associée à un projet open source !

Important : s'inspirer des meilleurs (Wikipedia). Ne pas hésiter à utiliser des liens pour connecter les informations entre elles, éviter les doublons et conserver les blocs d'informations à jour !

UI/UX - HTML, CSS et JavaScript

Être efficace et rapidement compris

L'UI d'Eden est écrite en HTML / CSS / JavaScript (trois languages qui interagissent pour permettre d'avoir une interface esthétique et dynamique). Les templates open source permettent de ne pas réinventer la roue et de partir de bases solides. L'union fait la force, autant éviter de perdre du temps pour avancer rapidement dans la bonne direction.