Linux

Ajouter un nouvel élément

Les performances du mois

Calculatrice Scientifique Pro
2
Antiryad Gx
1
NetBeans
3

    ang NetBeans

    Éditeur : NetBeans.org + Entre 54 M
    NetBeans, créé à l'initiative de Sun Microsystems (Noyau de Forte4J/SunOne), présente toutes les caractéristiques indispensables à un EDI de qualité, que ce soit pour développer en Java, Ruby, C/C++ ou même PHP.

    De licence OpenSource, NetBeans permet de développer et déployer rapidement et gratuitement des applications graphiques Swing, des Applets, des JSP/Servlets, des architectures J2EE, dans un environnement fortement personnalisable.

    L'EDI NetBeans repose sur un noyau robuste, la plateforme NetBeans, que vous pouvez également utiliser pour développer vos propres applications Java, et un système de plugins performant, qui permet vraiment d'avoir un EDI sur mesure.

    Ainsi, si vous ne téléchargez que la déclinaison concernant le développement Java SE, votre EDI ne sera pas livré avec le support Java EE, EJB, Jsp, Tomcat, Glassfish, ...

    A coté de la version complète de l'EDI NetBeans, vous avez différentes déclinaisons (6 au total, sans compter la version complète) qui se concentre sur une plateforme ou langage bien précis :

    Java ME
    Java (SE + ME + EE)
    Ruby
    C/C++
    PHP

    NetBeans rajoute, à coté du support pour CVS et SubVersion, un support pour ClearCase, mais aussi pour Mercurial.
    Il vous permet également de déployer vos applications Web, non seulement vers Tomcat et Glassfish qui sont livrés avec le "Pack Web", mais aussi vers JBoss, WebSphere 6.1, WebLogic 9.

    En plus d'avoir :

    un système de projets basé sur Ant, permettant une meilleure indépendance et portabilité de vos travaux ;
    un refactoring avec des fonctionnalités comme le renommage, le déplacement et la recherche des déclarations pour classes, méthodes et packages ;
    le support de Java SE 5.0 (Tiger) avec les nouveaux mots clefs du langage, les annotations, les generics, etc. ;
    le support de Java SE 6.0 (Mustang) ;
    le support de développement d'applications Web avec des améliorations pour l'édition des JSP, la gestion serveur, le support des dernières versions de Tomcat, etc. ;
    le support pour Java ME et les standards MIDP 2.0 et CLDC 1.1, possibilités d'intégrations d'émulateurs extérieurs, etc. ;
    un débogueur de grande qualité ;
    une interface graphique améliorée.

    La dernière version propose, entre autres :

    un éditeur grandement amélioré quant au support Javascript, qu'il soit non seulement dans un fichier Javascript, mais aussi dans une page html, jsp, rhtml ;
    un éditeur visuel pour les fichiers CSS ;
    un support fortement amélioré pour tout ce qui est Ajax, avec entre autre un support pour jMaki et GWT ;
    un nouveau module pour Java FX
    la gestion de bases de données grandement revue, avec un support direct pour JavaDB/Derby, MySql, PostgreSQL ;
    un support pour les frameworks Hibernate et Spring ;
    un support pour les webservices, avec support RestFul, Axis2, plugin SoapUI ;
    une fonctionnalité "deploy on save" pour les applications Web ;
    un support de GlassFish V3 Prelude ;
    des éditeurs pour les langages Groovy, Grails, Ruby, Rails, Python, C/C++, PHP, etc. ;
    un éditeur xml, xsd, xslt, wsdl, ... ;
    un support pour importer des projets Eclipse.

    vec les Pack Mobility (Java ME), Web et Java EE, UML, SOA, Ruby, PHP, ..., vous vous retrouvez directement pleinement opérationnel une fois l'installation terminée.

    ang Calculatrice Scientifique Pro

    Éditeur : DEHRI CHOUKI + 1210 Ko
    Calculatrice Scientifique Pro

    ang Gestion des Arbres en C#/.Net

    Licence : Shareware
    INTRODUCTION :: Les arbres informatiques sont parmi les plus utiles -- et les plus fascinantes -- structures de données évoluées que l'on puisse manipuler. Les arbres sont utiles pour modéliser et éventuellement persister des données aussi différentes, par exemple, que :....

    Gestionnaire d'Arbre complet, avec solution Visual-Studio et sa documentation: code C# pour Windows et Linux et MAC avec Mono

    Documentation pedagogique : Auteur: Steve Begelman

    ang Xilinx ISE Design suite

    Éditeur : xilinx.com +
    Xilinx ISE Suite Design est un environnement de développement et de compilation des programmes VHDL, il permet d’effectuer une analyse de timing, l’utilisation des diagrammes RTL, la simulation des conceptions et la mise en œuvre de l'ensemble de flux.
    VHDL Xilinx Designs vous donne ainsi la possibilité de mettre en œuvre des conceptions EDIF, SCHEMATIC et Verilog.
    Xilinx est utilisée pour développer des programmes qui sont utilisés dans les systèmes embarqués.

    ang Nagios

    Éditeur : nagios.org +
    Nagios est un superviseur réseau open source qui permet de surveiller en temps réel les services de votre réseau.
    Il permet de contrôler tout types de protocoles; SMTP, POP3, IMAP, NFS, XCMP, et de définir la topologie globale du réseau.

    Ses caractéristiques principales :
    • Surveillance réseau
    • Surveillance de service
    • La surveillance à distance par SSH ou SSL tunnels cryptés.
    • Le suivi des ressources serveurs.
    Ce n’est pas tout Nagios nous donne ainsi la possibilité d’ajouter des plugins pour plus de fonctionnalités.

    ang Asterisk

    Éditeur : asterisk.org +
    Asterisk est un logiciel open source sous licence GPL, il supporte le protocole SIP et permet de transformer un ordinateur en PABX.
    Son rôle principal se manifeste dans la gestion d’un réseau téléphonique qui comporte des téléphones IP et des ordinateurs avec un logiciel VOIP.
    Parmi ses fonctions principales :
    • Téléphonie IP.
    • Boites vocales, transfert d’appel, conférence
    • Gestion des droits
    • Gestion de confidentialités
    • Identification d’appelant

    ang Backtrack R3

    Éditeur : backtrack-linux.org +
    Backtrack est une distribution GNU/linux qui est très utilisée actuellement pour les professionnels dans le domaine du réseau et de la sécurité informatique dans le but de réaliser des tests d’intrusion, ou de d’analyse de réseau.
    Les principaux aspects de la création de cette distribution se manifestent comme suit:
     La collecte de l’information (Information Gathering)
     Le mappage du réseau
     L’analyse des applications Web
     L’analyse des systèmes de la téléphonie sur IP
     La pénétration (Pentest)
     L’ingénierie inverse
     Le maintien de l’accès
    Et d’autres fonctionnalités…
    Backtrack est représentée étant la meilleure distribution de tests de pénétration dans le monde.
    La dernière version de Backtrack qui vient de sortir est « Kali », cependant il y a certaines fonctionnalités qui y sont manquantes et qui sont présentes dans la version Backtrack R3.

    URL 64bit ==> ICI

    ang Tor

    Éditeur : Tor Project +
    Tor est un logiciel libre et un réseau ouvert qui vous aide à vous défendre contre une forme de surveillance qui menace les libertés individuelles et la vie privée, les activités et relations professionnelles confidentielles, et la sécurité d'État connue sous le nom d'analyse de trafic, ...
    • Empêche quiconque de repérer votre localisation ou vos habitudes de navigation
    • Utile pour les navigateurs web, les clients de messagerie instantanée, les connexions à distance, et encore plus
    • Libre et open source pour Windows, Mac, GNU/Linux / Unix, et Android



    Tor vous protège en faisant transiter vos communications au sein d'un réseau distribué de relais hébergés par des volontaires partout dans le monde : il empêche quiconque observant votre connexion Internet de savoir quels sites vous visitez, et il empêche le site que vous visitez de savoir où vous vous trouvez. Tor fonctionne avec bon nombre d'applications existantes, y compris les navigateurs web, les clients de messagerie instantanée, les connexions à distance, et autres applications basées sur le protocole TCP.

    ang Live Raizo

    Éditeur : Raizo62 +
    Live-Raizo est un Live-USB Linux Debian destiné à l’expérimentation de l’administration système et la configuration de réseau.

    Avec un seul ordinateur, Live Raizo permet de dessiner et simuler simplement une topologie réseau complexe totalement virtuelle comportant plusieurs ordinateurs, des commutateurs (switchs) et des concentrateurs (hubs).

    Les ordinateurs virtuels, basés sur un Linux Debian, intègrent par défaut de nombreux logiciels réseaux et systèmes. Vous pourrez ainsi les utiliser comme client, serveur ou/et de routeur. Vous pourrez aussi connecter votre topologie virtuelle à "Internet" pour interagir avec du matériel physique. Vous pourrez ainsi installer les logiciels supplémentaires dont vous avez besoin.

    Des commandes ont été ajoutées afin d’accélérer la configuration des adresses IP et des services DHCP, DNS et de routage RIPv2. Afin de les distinguer des commandes standards Linux, leur nom commence par le préfixe "fast-"

    La virtualisation s'appuyant sur les outils GNS3/VirtualBox/Qemu, vous pourrez ajouter vos propres systèmes d'exploitation compatibles

    ang Programme de recherche et de modification de fichiers

    Éditeur : Farouk Jouti + 8 Ko
    Ce programme console permet de rechercher des fichiers dans un dossier et de les renommer ou de les supprimer
    pour qu'il puisse fonctionner sur windows veuillez remplacer , dans la toute premiere ligne du programme , LINUX par WINDOWS

    ang classe facilitant les interactions avec un port COM / RS232

    Licence : Autre
    Cette classe (dialogueCOM) permet de faciliter les opérations de lecteur et d'écriture sur les ports COM et RS232. Elle marche aussi bien sur linux que sur Windows. J'ai rajouté un exemple pour montrer comment elle fonctionne.

    ang TimerOS: un système d'exploitation qui affiche l'horloge :)

    Licence : Autre
    Et voilà un petit système d'exploitation (4 KiB :) écrit en assembleur et en langage C. Quelques lignes de code ont été copiées du code source du noyau Linux-0.01:) avec quelques modifications!

    Le système va juste démarrer votre PC, faire quelques initialisations nécessaires pour passer en mode protégé et exécuter le noyau. Celui-ci, va juste afficher l'horloge à l'écran. C'est en utilisant l'interruption de timer (timer interrupt) et la mémoire vidéo VGA.


    Avec ce système, votre ordinateur deviendra une montre numérique :)

    Architecture
    ------------------
    Le système peut tourné sur toute machine compatible avec l'IBM-PC (Un HP Pavilion dv6000 dans mon cas) et occupée par un processeur de la famille INTEL x86_32 (un Pentium Dual Core dans mon cas). Vous pouvez également utiliser une machine virtuelle pour tester le système. Qemu et VirtualBox vous permettent d'en créer une.

    Compilation
    -----------------
    Le code source contient deux Makefiles:
    1. kernel/Makefile: Ce Makefile permet d'assembler (avec l'option -c!) le fichier isr.s et de compiler le fichier timer.c. Les fichiers objets générés (isr.o et timer.o) seront, ensuite, liés avec l'option -r (de l'éditeur de liens ld) pour générer le fichier kernel.o en format relocatable ELF. Note:On a utilisé l'option -r par ce que le fichier kernel.o sera ensuite relié avec les autres fichiers objet pour produire le fichier binaire system!

    2. Le Makefile principal:

      • Assembler et lier le fichier /boot/boot.s. L'édition de liens est accomplis avec l'option --oformat binary pour générer un fichier en format raw binary. les options -Ttext et -Tdata sont utilisées pour indiquer à l'éditeur de liens que les sections de texte et de données doivent être chargées à l'adresses 0x0 et 0x7C00. Notez bien que le programme boot (le programme d'amorçage de notre système) sera chargé par le BIOS à l'adresse physique 0x7C00, et que dans le fichier boot.s les données et le code sont inclus dans la même section .text et que l'instruction lgdt doit charger une adresse linéaire (physique) dans le registre GDTR, et que, et que, et que ... :)

      • Générer les fichiers objets boot/head.o, init/main.o, kernel/kernel.o.

      • Lier les fichiers boot/head.o, init/main.o, kernel/kernel.o pour produire le fichier binaire system. Notre système sera chargé, par le programme d'amorçage, à l'adresse linéaire (ou physique puisqu'on ne va pas utiliser la mémoire paginée) 0x1000. Donc, on a passé l'option -Ttext 1000 à l'éditeur de liens.

      • Finalement, les fichiers binaires boot et system seront réunis pour produire le fichier image Image de notre système en exécutant la commande suivant:

        cat boot/boot system > Image


    Installation
    ----------------
    Vous pouvez tester le système en utilisant une machine virtuelle. Avec Qemu vous pouvez lancer le système à l'aide de la commande suivante:

    qemu-system-x86_64 Image

    Pour installer le système sur un flash disque procédez comme suit:
    1. Connectez votre flash disque à votre PC.
    2. Attention: toutes les données sauvegardées sur le flash seront perdues. Donc, copiez les sur votre disque dur avant de passer à l'étape suivante!!
    3. Ouvrir un terminal. Puis, en tant que root, entrer la commande fdisk -l pour afficher les noms de tous les disques connectés à votre PC. Vérifiez le nom de votre flash disque. Attention: ne pas confondre entre les noms de flash disque et ceux des partitions de vos disques durs !!!
    4. Dans le fichier Makefile principal, dé-commenter la ligne: ## sudo dd_rescue -A Image /dev/sdx
    5. Remplacer /dev/sdx par le nom de votre flash disque.
    6. Utilisez la commande make install pour insaller le fichier binaire Image sur votre flash disque en partant du premier secteur (le secteur d'amorçage).
    7. Redémarrez votre PC pour s'amuser :)


    Modèle de la mémoire
    ---------------------------------
    Le modèle de la mémoire utilisé par le système et le Flat Memoy Model. Autrement dit, le système utilise les mêmes segments (espace mémoire linéaire) pour le code(CS), les données(DS,ES,FS,GS) et la pile(SS). C'eat le même modèle de la mémoire utilisé par le noyau Linux. Ainsi, notre GDT (Global Descriptor Table) est initialisé, dans boot/boot.s et boot/head.s, comme suit:

    gdt:
    .quad 0x0000000000000000
    .quad 0x00CF9B000000FFFF
    .quad 0x00CF93000000FFFF

    Ici, on a défini deux descripteurs de segments. Selon ces descripteurs, chaque segment et de taille 4 GiB (Limit = 0xFFFFF et Granularity Bit = 1) et commence à l'adresse physique 0 (Base = 0x00000000).

    L'indice 0x8 de deuxième descripteur sera chargé dans le registre CS (Code Segment) en exécutant l'instruction LJMP dans le fichier boot/boot.s. Ainsi, le processeur va rechercher les instructions à exécuter dans le segment indiqué par ce descripteur. L'indice 0x10 de troisième descripteur sera chargé dans les registres DS,SS, ES, FS, GS à l'aide de l'instruction MOV dans le fichier boot/head.s. Ainsi les données seront accédées en lecture et en écriture dans le segment spécifié par ce troisième descripteur. Aussi les données de la pile seront empilées et dépilées dans le même segment de données!

    Note: Le noyau n'implémente pas le modèle paginé de la mémoire. La pagination de la mémoire est désactivée. Ainsi, les adresses physiques et les adresses linéaires sont égaux.


    Le mode protégé
    --------------------------
    Au démarrage de l'ordinateur, Tous les processeurs de la famille x86 fonctionnent en mode réel (ou mode 8086). Ainsi, le processeur ne peut exécuter que des codes 16-bit et ne peut adresser que 1MiB de la mémoire. Pour exécuter des codes 32-bit et pour accéder à plus que 1MiB de la mémoire (4GiB) et pour se profiter de toutes les fonctionnalités du processeur on doit passer en mode protégé (Protected Mode). Notre système, comme tout autre système moderne tel que Linux :), fonctionne en mode protégé. Le passage de mode réel en mode protégé est accomplis par la mise à 1 de Bit PE (Protection Enable) de registre de contrôle CR0 en exécutant les lignes de code suivantes:

    mov %cr0, %eax
    or $1, %ax
    mov %eax, %cr0

    Mais, avant de faire ça le processeur doit accomplir quelques opérations d'initialisation. Au minimum, le processeur doit désactiver les interruptions matérielles à l'aide de l'instruction CLI et initialiser un GDT. C'est exactement ce que nous avons codé dans le fichier boot/boot.s. Consultez le manuel INTEL pour avoir accès au différentes étapes qu'il faut suivre pour activer convenablement le mode protégé.

    Dans ce mode, le processeur est très sensible au erreurs de votre code (les bugs du code). Par exemple, en accédant à la mémoire, si le processeur ne trouvait pas un descripteur convenable dans le GDT, il va générer un Triple Fault qui va provoquer une séquence infini de redémarrage de l'ordinateur!

    Pour savourer le goût réel du mode protégé, le processeur doit exécuter un programme 32-bit. C'est on exécutant un LJMP vers un segment contenant un code 32-bit, juste après la mise à 1 de bit PE! Selon le manuel INTEL, un LJMP d'un code 16-bit à un code 32-bit nécessite l'utilisation de prefixe 0x66 comme suit:

    .byte 0x66, 0xea
    .long ok_pm + 0x7c00
    .word 0x8

    Finalement, on est en mode protégé et le processeur est entrain d'exécuter un code 32-bit. Les interruptions matérielles sont encore désactivées (ou masquées). Il faut initialiser le IDT (Interrupt Descriptor Table) avant de les activer avec l'instruction STI.


    Chargement à la mémoire et prise de contrôle
    -------------------------------------------------------------------

    * Le programme d'amorçage (/boot/boot.s)

    Le binaire de programme d'amorçage boot.s doit être stocké sur le premier secteur d'un périphérique de stockage de masse (Un flash disque dans notre cas). Il sera chargé par le programme de démarrage du BIOS à l'adresse physique 0x7C00. C'est une convention IBM qu'on doit respecter. Lorsqu'il prend le contrôle (de la part du BIOS), il va accomplir les opérations suivantes:
    1. Mettre à jours le contenu des registres: DS, ES, SS et SP.
    2. Définir le mode vidéo et afficher un message à l'utilisateur en utilisant les interruptions BIOS.

    3. Charger le système (le binaire system) dans la mémoire en utilisant l'interruption BIOS convenable. Contrairement au noyau Linux 0.01, notre système sera chargé à l'adresse physique 0x1000 (SYSSEG = 0x100). Notez qu'avec une machine compatible avec l'IBM-PC, le premier 1KiB de la mémoire est réservé pour le IVT (Interrupt Vector Table) et les données de BIOS. On a choisi de ne pas toucher ce premier 1KiB. De plus on a un espace mémoire suffisant pour charger notre pauvre sytème;)

    4. Initialiser les deux 8259A PIC en envoyant des ICW au ports convenables.
    5. Passer en mode protégé. C'est déjà expliqué ci-dessus.
    6. Transférer le contrôle au noyau en exécutant un LJMP vers le code 32-bit.

    ** Le kernel head (boot/head.s)

    C'est le premier portion du code 32-bit du système qui sera exécuté. Son rôle est de réinitialiser le GDT, initialiser le IDT et d'appeler la fonction principale main du système.

    Parlant un peu de IDT. Notre système n'utilisera qu'une seule interruption. C'est l'interruption de timer ayant comme ID (Identificateur) 0x20. Ainsi, on a initialisé toutes les entrées (inclus l'entrée 0x20 pour le moment) par le même Interrupt Gate Descriptor. C'est en faisant appel au sous programme setup_idt.

    *** La fonction principale (init/main.c)

    Cette fonction est appelé dans le programme head.s. Elle s'exécute jusqu'à ce que vous éteindre votre machine. C'est à cause de la boucle infini for(;;){}. Elle permet d'accomplir les opérations suivantes:
    1. Initialiser l'horloge: C'est en appelant la fonction time_init(). Comme j'ai dit, notre système va juste afficher l'horloge à l'écran. Ainsi, on doit l'initialiser. Comment ? L''horloge (RTC: Real Time Clock) de l'ordinateur est stocké dans une mémoire CMOS interne (intégré à la carte mère) et qui possède son propre source d'alimentation. La fonction time_init() va utiliser les instructions assembleur IN et OUT de manipulation des ports d'entrées/sorties pour lire l'horloge (le temps de démarrage de l'ordinateur) et le récupérer dans la variable startup_time.

    2. Initialiser le timer: En appelant la fonction timer_init()
    3. Activer les interruptions matérielles: Après la réinitialisation de l'IDT par la fonction timer_init(), notre système est prêt à réagir à l'interruption de timer. Donc on peut les activer, en exécutant l'instruction STI.


    **** Le noyau (kernel/isr.s et kernel/timer.c)

    Dans un système d'exploitation évolué, comme Linux, le noyau est la portion du code principale qui va réagir avec l'ordinateur (mémoire, périphériques ...) d'une part et qui va rendre service à l'utilisateur (Il lui permettra d'exploiter les ressources de l'ordinateur: utiliser le disque dur, la carte réseau ...) d'autre part.

    Bon, notre pauvre noyau va juste afficher l'horloge sur l'écran. C'est en utilisant l'interruption de PIT (PIT: Programmable Interrupt Timer) INTEL 8253 ou 8254 (pour mettre à jour l'horloge) et la mémoire vidéo (pour l'affichage). Le PIT sera initialisé tel que il est indiqué par les lignes de commentaires dans le code source. Le fichier kernel/isr.s contient le code source de l'ISR (Interrupt Service Routine) qui sera exécuté à chaque interruption de PIT (HZ = 100 timer interrupt par seconde). Lorsqu'il sera exécuté, ce routine va incrémenter la variable jiffies et appeler a fonction do_timer(). A son tour, la fonction do_timer() va extraire les heures, les minutes et les secondes du variable jiffies et les afficher en format: hh:mm:ss.

    A chaque interruption de timer le processeur va consulter l'entrée(descripteur) numéro 32 (0x20) dans le IDT. Ce descripteur contient les informations nécessaires, réquises par le processeur, pour localiser à la mémoire et exécuter le ISR convenable. Ce descripteur est de type Interrupt gate. Le macro set_intr_gate() défini dans le fichier include/system.h, permet d'initialiser ce déscripteur. Le champ Offset doit contenir l'adresse &timer_interrupt de la portion du code contenue dans le fichier kernel/isr.s. Le champ Offset doit contenir l'indice 0x8 de descripteur de segment de code dans le GDT.

    Avant, d'afficher l'horloge, on doit convertir les heures, les minutes et les secondes calculés de format binaire en des codes ASCII. L'affichage aura lieu par l'envoi de ces codes ASCII à la mémoire vidéo VGA (mode 80x25 16 couleur texte) situé à l'adresse 0xb8000-0xbFFFF. Le pointeur video_ptr est utilisé pour accéder à cette zone mémoire depuis un code C :)


    Notre système ne permet pas d'exploiter efficacement un ordinateur. Il permet juste de démarrer l'ordinateur, depuis un flash disque, et afficher l'horloge. Alors qu'un système d'exploitation doit, au minimum, nous permettre d'exploiter le clavier, l'écran et le disque dur! Bon, implémenter ses fonctionnalités est simple, mais il nécessite trop de temps. Si vous êtes passionnés (comme moi:) par le développement des OS vous pouvez démarrer avec le noyau Linux-0.01. Son code source est très simple par rapport aux autres versions du noyau, mais il nécessite trop de corrections!!

    ang ARP Watch

    Éditeur : arp watch + 24 Ko
    Arp Watch est un outil qui permet de surveiller la correspondance entre l'adresse ip et adresse mac dans un réseau, il permet d'alerter l'administrateur système si il y a un changement au niveau des adresses mac ou l'ajout d'une nouvelle station sur le réseau.
    Il permet de faire face aux attaques arp spoofing qui peuvent se produire; en assurant une surveillance accru du réseau.

    ang Parcours en profondeur et tri topologique

    Licence : GPL
    Suite à ma précédente soumission, voici un code qui effectue un parcours en profondeur sur un graphe orienté sans circuit et qui en trie topologiquement les sommets.

    ang DB-MAIN

    Éditeur : REVER S.A +
    DB-MAIN est un outil de modélisation et d'architecture de données. Il est conçu pour aider les développeurs et les analystes dans la plupart des processus d'ingénierie des données, dont :
    • Les processus de conception : analyse des besoins, analyse conceptuelle, normalisation, intégration de schémas, conception logique, conception physique, optimisation, génération de code.
    • Les transformations : transformations de schémas, transformations de modèles, ETL.
    • La rétro-ingénierie et la compréhension de programmes : analyse de schémas (COBOL, CODASYL, IMS, IDMS, SQL, XML, ...), analyse de code, rétro-ingénierie des données et des flux de données.
    • Maintenance, évolution et intégration : migration de données, évolution des bases de données, analyse d'impacts, intégration et fédération de bases de données, conception et génération d'accesseurs de données.
    • Et beaucoup d'autres domaines comme les bases de données temporelles et actives, les entrepôts de données, l'ingénierie XML, ...


    DB-MAIN inclut également des composants de méta-modélisation qui permettent aux utilisateurs de développer de nouvelles fonctions et d'étendre son référentiel.

    ang Linux Live USB Creator

    Éditeur : LinuxLiveUSB Team +
    Linux Live USB Creator est un logiciel gratuit qui permet de créer facilement des clés USB bootable et monter plusieurs distributions linux.
    Avec son interface claire et conviviale, LiLi vous permet de personnaliser votre clé USB, configurer et choisir la distribution Linux que vous voulez, nettoyer votre clé, comme il vous donne la main pour télécharger les nouvelles versions des distributions Linux qui s'affichent sur l'interface principale du logiciel.

    ang Portage du noyau linux-0.01 vers gcc-3.2.2 sous RedHat-9

    Licence : GPL

    Linux-0.01 est le premier release du noyau Linux, développé -from scratch-
    par Linus Torvalds, un étudiant en informatique de l'université de Helsinki,
    en Finlande:


    From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
    Newsgroups: comp.os.minix
    Subject: What would you like to see most in minix?
    Date: 25 Aug 91 20:57:08 GMT


    Hello everybody out there using minix -

    I'm doing a (free) operating system (just a hobby, won't be big and
    professional like gnu) for 386(486) AT clones. This has been brewing
    since april, and is starting to get ready. I'd like any feedback on
    things people like/dislike in minix, as my OS resembles it somewhat
    (same physical layout of the file-system (due to practical reasons)
    among other things).

    I've currently ported bash(1.08) and gcc(1.40), and things seem to work.
    This implies that I'll get something practical within a few months, and
    I'd like to know what features most people would want. Any suggestions
    are welcome, but I won't promise I'll implement them :-)

    Linus (torvalds@kruuna.helsinki.fi)

    PS. Yes - it's free of any minix code, and it has a multi-threaded fs.
    It is NOT protable (uses 386 task switching etc), and it probably never
    will support anything other than AT-harddisks, as that's all I have :-(.



    Compilation & execution
    ===================

    J'ai réussi à compiler le noyau avec gcc-3.2.2 sous RedHat-9 et à le faire tourner
    sur QEMU. Pour le faire, procédez comme suit:

    1. Téléchargez les 3 CDs d'installation de RedHat-9 et l'installer sur une machine virtuelle;
    2. Installez le package qemu-0.7.0-1.0-rh9.rf.i386.rpm sur RedHat-9;
    3. Téléchargez le noyau et le compilez pour générer le fichier IImage.
    4. Téléchargez l'image de votre disque dur sur: http://draconux.free.fr/download/os-dev/linux0.01/Image/hd_oldlinux.img.zip
    5. créez deux copies de hd_oldlinux.img. Par exemple: hda.img et hdb.img
    6. qemu -fda Image -hda hda.img -hdb hdb.img -boot a
    7. Enjoy it :)

    Utilisez Git c'est mieux
    ==================

    Pour accéder à plus d'explications vous pouvez télécharger le projet complet sur ma compte github:
    https://github.com/issamabd/linux-0.01-reloaded:

    1. git clone https://github.com/issamabd/linux-0.01-reloaded
    2. cd linux-0.01-reloaded
    3. gitk --all&

    Lire le code
    =========

    Si vous êtes passionnés par le développement des OS, comme moi:), linux-0.01 est votre occasion pour débuter.
    Son code est très simple et minimal. Malgré ça, il implémente des fonctionnalités avancées du processeur
    INTEL 80386 telle que la protection, la pagination de la mémoire et le multi-tasking!
    Son système du fichier MINIX est très simple à et sert pour comprendre le fonctionnement des fs avancés.
    Un peu de périphériques supportés .. juste des drivers minimals pour le disque dur, la console, le clavier et le port série.
    En un mot .. linux-0.01 est très éducatif !

    D'après github, le code du noyau est composé de:

    - 87.5% du langage C
    - 9.1% du langage assembleur
    - 3.4% des Makefiles

    Ainsi, pour comprendre le fonctionnement de Linux-0.01 vous devez, en bref:

    1. Bien maitriser l'architecture INTEL x86 et plus précisément le processeur INTEL 80386:
    Le jeu d'instructions, les registres, le stack, la segmentation de la mémoire, la pagination, la protection,
    les interruptions, le multi-tasking, l'initialisarion, les modes d'opération ...

    2. Comprendre le fonctionnement des disques dur ATA (IDE), la mémoire vidéo VGA,
    le fonctionnement du clavier, le BIOS, les bootsectors ... En un mot .. vous devez comprendre l'architecture
    d'un PC IBM-AT.

    3. Comprendre la philosophie des systèmes UNIX: le rootfs, gestion des périphériques,
    gestion des processus (fork, exec ...), gestion de la mémoire ...

    4. Comprendre le fonctionnement des systèmes de fichiers: les inodes, le bitmap, les super-blocks

    5. Maitriser parfaitement le langage C embarqué: les pointeurs, les listes chainées cycliques, les tableaux, les structures,
    les pointeurs sur fonctions, les opérateurs logiques .. En un mot vous devez parlez le C comme le français ou mieux :)

    6. Maitriser l'assembleur GNU et l'assembleur en ligne ... ne vous inquiétez pas de ce coté !

    7. apprendre comment écrire des Makefiles.


    Bonne utilisation :)

    ang Un programme d'amorçage

    Licence : Autre
    3 exemples simples de programmes d'amorçage (Boot Sector program) écrits en assembleur GNU:
    • hello.s: Permet d'afficher le message " Hello, World !" au démarrage de l'ordinateur.
    • rtc.s: Permet de lire l'horloge temps réel (RTC) de l'ordinateur et de l'afficher.
    • Exemple 3 : Montre comment utiliser l'adressage LBA pour lire des secteurs d'un périphérique de stockage de masse (flash disque, disque dur, disquette ou CD/DVD) en utilisant l'interruption BIOS int 0x13, AL=0x42.

    Pour avoir accès à encore plus d'explications : http://asm.developpez.com/cours/gas.

    ang Envoyer/Transférer des fichiers sur une machine UNIX par SSH

    Licence : Gratuit
    Easy to tranfert


    Permet aussi de transférer un ou plusieurs fichiers entre deux machines Unix, avec une option de synchronisations des répertoires.

    Permet d'envoyer un ou plusieurs fichiers, d'un ordinateur Windows vers Unix/Linux (comme WINSCP)

    - Récupération des logs de tranferts à travers un STDOUT
    - Connexion sécurisée
    - Synchronisation à partir de la source (linux to linux)

    ang Webmin

    Éditeur : webmin.com +
    Webmin est un système avec une interface web qui permet de superviser les différents services installés sur votre machine linux en locale ou à distance.
    Vous pouvez ajouter des comptes utilisateurs, configurer DNS, Apache, le serveur de partage de fichiers etc…
    Webmin est portable est offre une extrême compatibilité avec les différentes distributions de Linux.
    À l’aide de Webmin vous pouvez ajouter vos propres modules sans changer le code existant.
    Il est un excellent outil pour les débutants et les administrateurs systèmes expérimentés et lorsqu'il est exécuté à partir d'une machine locale, il peut aider les nouveaux utilisateurs à se familiariser avec les capacités d'un système Linux.

32 éléments

Responsable bénévole de la rubrique Linux : Francis Walter -