Open Source

C : les grandes bases

Publié dans Tuto by tofux sur juillet 22nd, 2008

Voici le début d’une (je l’espere) relativement longue série de tutoriels sur la programmation en C. Ce premier tutoriel va vous expliquer les bases, vous n’allez pas faire de la programmation a propremment parler. Voici un petit sommaire des choses que nous allons voir:

1.Qu’est-ce-que la programmation?

2.La compilation, la programmation modulaire et le linker.

3.Le C et ses dérivés.

1. QU’EST-CE QUE LA PROGRAMMATION?

La programmation, c’est l’art ou et/ou la science (ca dépend du point de vue) de réaliser un programme complet pour indiquer a notre ordinateur comment obtenir un logiciel. Malheureusement vous et le PC ne parlez pas la même langue. Vous parlez une langue humaine (ici français je suipose :) ). Votre PC, lui parle binaire. En gros, vous, vous utilisez un ’set’ de 26caracteres plus les nombres, l’espace et les caracteres spéciaux, lui il utilise juste… 2 nombre: 0 et 1. Mais rassurez vous: vous ne programmerez pas en utilisant que des 0 et des 1. Vous allez faire vos programmes en écrivant un “code” bien précis qui est en fait ce que vous voulez que votre ordinateur fasse, mais comme vous l’aurez compris il ne comprend rien comme ca. Il faut traduire votre programme. Et c’est pour ca que nous avons besoin d’un compilateur.

2. LE COMPILATEUR.

Un compilateur, en gros, c’est un traducteur: il vas traduire vos programmes en un fichier binaire exécutable. En gros, votre compilateur comprend en fait deux élément: le complilateur et le linker. Le compiltateur, lui se charge de transformez les fichiers .c et .h (ce sont les fichiers qui contiennent votre code, vous verrez ca plus tard) en fichiers.o . Et le linker se charge de lier les .h et .c entre eux pour faire un seul logiciel binaire. Voila, c’est pas plus compliqué que ca, bien que le fonctionement du compilateur, lui, l’est beaucoup plus. Parce que la je viens juste de vous expliquer ce qu’il fait, pas comment il marche :D. Peut etre qu’un jour, si vous etes (tres) motiver, vous réaliserez votre propre compilateur/linker, qui sait… Apres tout, un programmeur confirmé doit avoir la capacité d’en faire, mais tous n’ont peut etre pas la motivation de faire ca en tant qu’hobby :-)

3. Le C et ses dérivés.

Le language que nous nous allons travailler est un language tres connus, tres utilisé, si pas le plus utilisé. Il s’agit du C. Linux a été écrit en C, pour vous donner un exemple concret. Le C est un language pratique, clair, puissant, souple, et aux possibilités larges. Mais il a donné naissance a 2 dérivés: le C++ et le C# (c sharp). Le C++, c’est une modification du C “orienté Objet”, qui est en résumé une facon plus claire et avec plus de possibilités d’organiser les fonctions. Quant au c#, il ne rappelle pas autant le C que C++. En fait, je dénonce tout de suite le fait… que c’est une Windowserie. Il s’agit meme d’une propriété Microsoft!!! C’est triste hein… Qui d’autre que Windows pouvait faire une chose pareille?

Bon voila vous connaissez a présent les concept de la programmation. J’attend vos question, suggestions, et autres.

Tofux.

Linux Kernel 2.6.26

Publié dans Actu by tofux sur juillet 22nd, 2008

Linus a annoncé il y a quelques jours la sortie de la nouvelle version stable du Linux Kernel. Il s’agit de la 27eme version de la branche 2.26. Vous pouvez des maintenant le télcharger sur le site du Linux kernel archives (il est dans les liens).

Quelques liens intéressants concernant cet article:

Les Nouveautés du kernel 2.6.26

Liste des ajouts-1

Liste des ajouts-2

Liste des ajouts-3

Changements d’API de la 2.6.26

Tofux.

source: http://linuxfr.org

openSUSE 11.0

Publié dans Actu by tofux sur juillet 22nd, 2008

La nouvelle version de la distribution linux openSUSE, openSUSE 11.0, est sortie. Vous pouvez nottement vous la procurez grace au magazine Linux Identity qui vous l’offre via DVD (>linux 32bits ET 64bits) ainsi qu’un guide complet. Le magazine comporte 36pages, et est disponibles pour moins de 10euros. Dire qu’ils vendent des OS pouris a 450$… si vous voyez ce que je veux dire… Donc voila, si ca vous intéresse, Linux Identity est disponible en kioskes (en France, mais en Belgique je sais pas…) et sur le net. Donc voila, vous savez ce qu’il vous reste a faire si ca vous intéresse.

Linux

Publié dans Documentation by tofux sur juillet 22nd, 2008

Bon ben voila, j’ai décidé de réaliser un petit article visant a vous expliquer ce qu’est Linux, l’histoire de Linux, qui est ce petit pinguin, qui est en réalité un manchot, que j’ai choisi comme logo pour cet article, qui est son créateur, et autres.

Tout d’abord, Linux est un OS ( Operating System, en francais Systeme d’Exploitation, comme -brrrr- Windows) de haute qualité (en réalité, le Linux Kernel peut fierment dire qu’il est le plus stable et le plus performant des Kernel existants), de type Open Source et de plus, vous pouvez télécharger le Linux Kernel gratuitement ici. Il est, a non-juste titre (excusez cette expression foireuse),  réputé pour etre un OS compliqué, pour les pros. Il sagit d’un cliché. Qui découle probablement d’un autre cliché, tendant tout doucement a disparaitre, que linux n’est pas graphique. Alors bon comment vous expliquez ca, en réalité, si vous downloadé le kernel, en effet, vous vous retrouvé face a un shell CLI, en gros une console(ce qui génere le cliché “linux est compliqué”).

Bon alors en résumé, une console, c’est non-graphique, c’est une “zone” sur laquelle vous tapez des commandes et le kernel les exécute. C’est une interface Kernel><User, en gros elle vous permet de donner des ordres au kernel. et pour ceux qui l’ignore, le kernel c’est un peu comme un moteur, et notre console sera donc “un peu comme” notre ‘ensemble’ volant-pédalier-levier de vitesse-ordinateur de bord (attention on frise la boucle infinie la :-) ) , c’est a dire ce qui nous permet de “donner des ordres” a notre amis le moteur, et ben c’est pareil avec la console et le Kernel.

Donc je vous disais que c’était un cliché a demi-faux, (ou a demi-vrais c’est vous qui voyez) parce que Linux tout seul est, en effet, non-graphique, mais en fait il existe de nombreuse interface graphique (GUI), ce qui est a peu pres comme la console, sauf que c’est plus beau, c’est plus facile, et c’est… moins puissant. Passé le stade de nos cliché, je vais répondre a la question que tous se posent (enfin certains) : Pourquoi Linux et pas windows (permettez moi d’ommetre la majuscule, j’estime que ce nom, meme propre n’en mérite pas). parce que Linux est un OS tres puissant et tres stable, aux possibilités tres larges, Linux kernell ne plante JAMAIS, d’abord parce qu’il est parfaitement programmé, et ensuite parce grace a son code-source publié, il existe une large communautés dont chaque membre rapporte la moindre erreur sur le net, qui ne tarde pas a etre corrigée. Linux est un OS complétemant libre, téléchargeable gratuitement sur internet.

Linux a une histoire relativement singuliere… En effet, au départ linux a été réalisé en tant que “ptit OS sans prétention, fruit d’un hobby”, si on en croit la premiere mension du projet sur internet par Linus. J’ai d’ailleurs trouvé l’URL…

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 (torva...@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 :-(.

En gros, il nous explique qu’il projette de réaliser un petit OS “(C’est juste un hobby, pas une réalisation professionelle telle que GNU)”, et que son OS est semblable a Minix. Il invite également les lecteurs a apporté leurs suggestions. en ‘PS’, il nous indique que son OS est absolument sans code Minix, en gros il l’a fait tout seul, sans copier-coller. ‘Il’, c’est évidemment Linus Torvalds, le créateur de Linux, aujourd’hui, il est souvent considéré comme un symbole. Mais je ne vais pas faire sa biographie ici. Quant a Linux, il a grandi en qualité et en notoriété pour devenir ce qu’il est devenu aujourd’hui.

Comme promis je vais vous raconter la courte histoire de ce petit manchot: Tux. Retenz bien ce nom. Mais d’abord, voici divers ‘versions’ de Tux, La premiere est la vraie, l’orignale.

Voila, le premier est le Tux classique, le vrais, l’original (désolé pour la répétition), le second est notre Tux classique vectorisé, le troisieme est Tux classique crystalisé cette fois, et les deux derniers sont 2 nouvelles versions de Tux, les “Tux Crystal 1&2″, crystalisés, d’ou leur nom. En réalité, Tux est le fruit d’un concours remporté par Larry Ewing, grace au freeware GIMP. Il a été sélectionné notament parce que linus avait été touché (émotion) par un manchot pigmée que lui rappelait Tux. Et c’est ainsi que Tux est né, et est devenu le symbole de Linux.

Eh bien voila, j’espere avoir correctement résumé, si vous voulez émettre un avis, n’hésitez pas.

Open-Source…??

Publié dans Documentation by tofux sur juillet 21st, 2008

Certains d’entre vous ignorent peut etre ce qu’est l’Open Source. En fait, pour faire simple, un logiciel Open Source est un logiciel dont la license respecte un certain nombre de critere etablis par l’organisation “Open Source Initiative”. Pour résumer les valeurs que représent l’Open Source, je vais simplement dire:

La Connaissance Appartient A Tout Le Monde

Et ca s’aplique également dans le domaine du logiciel. On qualifie généralement les logiciel type Open Source de “freeware”. C’est a dire: Free Software, ou encore logiciel libre. Et non pas logiciel gratuit comme pas mal de gens le pense, on admet quand meme qu’une majorité des freewares sont gratuits.

Je vous ai parlé de certains critères a respecter pour etre un logiciel Open Source. En résumé, ces criteres sont: la possibilité de libre redistribution, d’accès au code source, et de travaux dérivés.

Pourquoi l’Open Source? (ne dites pas OS ca prete a confusion dans le domaine de l’informatique…)

Eh bien, permettez moi de faire une analogie entre un code source et une recette de cuisine, d’abord parce qu’ils sont tout les deux une sorte de mode d’emploi bien définis, avec des instruction précise pour obtenir un logiciel dans un cas, un plat dans l’autre. Maintenant, imaginez qu’un amis vous donne cette recette de cuisine. Vous l’adorez, mais vous vous dite qu’elle seraient meilleure avec un temps de cuisson augmenté et un peu plus de curry. Vous décidez donc de réécrire la recette en tenant compte de ces parametres. Vous donnez la recette a vos amis. Eh bien imaginez un monde ou vous n’avez ni le droit de donner gratuitement une copie de cette recette a vos amis, et encore moins modifiez. Si vous le faite, on vous traite de pirate et on fait tout pour vous jeter en prison. heureusement vous avez le choix. certaines recette de cuisines implique ceci, d’autres pas (Open Source).

Mais quelle horreur me direz vous. regardez un peu de plus pres ce que je vous ai dit. si on remplace ces recettes de cuisine par des logiciel… ca y est, vous comprenez maintenant. De plus, la pluspart des freeware sont loin d’etres moins efficace que les logiciel “classiques”.  Regardez linux et windows. Je sais que beaucoup de gens frémisse rien qu’a entendre Windows, et la pluspart des “connaisseurs” vous diront que windows est une vraie m**** a coté de linux. Alors que linux est Open-Source et gratuit. Les gens disent souvent qu’ils ne veulent pas linux parce que c’est trop compliqué (cliché, ca l’était il y a 10 ans, et encore, pas beaucoup plus que notre ‘ami’ MS-DOS).  d’autres parce qu’on trouve trop peux de logiciel linux dans le commerce… c’est vrais. Inconvéniant? pas vraiment. Du moins, vite comblé par le fait que vous trouverez beaucoup de freeware linux sur internet d’excelent qualité.

Voila, j’espère avoir été clair et complet, et, qui sait, vous avoir imbibé des valeurs de l’Open Source. Faites moi confiance, c’est la voie de la liberté ; ).

Tofux.