Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/06/2014, à 14:35

Oni_Shadow

Apprendre programation systeme Linux

Coucou,

j'ai queslques bases en programation (suffisament pour faire des petit sripts python / un agenda en Java / un site web HTML/CSS/JS/PHP),

j'ai survollé (dans l'ordre) le :

-C

-C++

-Java

-HTML/CSS/ASP/SQL/PHP/

-Mathlab

-VBScript

-Python

Je m'interesse dorénavant a la programation systeme et souhaiterais developper des programmes qui interagissent avec mon systeme d'exploitation (Ubuntu/Archlinux)

Je voudrais a therme (d'ici quelques mois ) reussir a commencer a faire mon propre DE. Ca seras probablement pas codé de la façon la plus efficace :-°, mais ça sera mon DE :diable:
Je me demande simplement par ou commencer? :'(  je ne trouve pas beaucoup de ressource sur le sujet...

j'ai lu que la team d'elementray os avais quasiment tout codé en Vala, est ce un bon choix? ou trouver de la doc dessus, le web ne semble pas très loquasse a ce sujet. yikes L'anglais ne me derange pas, si ça part de zero wink

ciao

O_S

ps : si vous avez des info aussi sur comment faire des apps systeme customisable via css (comme gtk3) je suis preneur wink


Rouillé

Hors ligne

#2 Le 29/06/2014, à 07:50

alius

Re : Apprendre programation systeme Linux

Avant de te pencher sur un langage en particulier du devrais selon moi réfléchir a comment décomposer le bordel, tu verras alors que tu pourra mixer plusieurs langage.
Par exemple utiliser C++ pour les composants systemes et Python pour les composants du DE.

Pour faire de la programmation système, tu peux utiliser C++ qui selon est tout convenue !
Tu vas devoir apprendre a utiliser les fonctions systèmes de base, read, write, open... comment faire un pipe entre deux programmes, le fork,, les lock ... ... Quand tu maitrisera bien tout ça, tout pourras donc commencer à écrire tes petits composants systemes qui feront office de serveur pour faire ton DE dans un autre langage (ou pas).


Alius

Hors ligne

#3 Le 29/06/2014, à 09:06

omc

Re : Apprendre programation systeme Linux

Bonjour,
C'est quoi un DE ?
Merci...

Hors ligne

#4 Le 29/06/2014, à 13:13

pires57

Re : Apprendre programation systeme Linux

Desktop Environment
La programmation kernel c'est fun tongue

Dernière modification par pires57 (Le 29/06/2014, à 13:13)


Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne

#5 Le 29/06/2014, à 13:25

Zakhar

Re : Apprendre programation systeme Linux

pires57 a écrit :

Desktop Environment

Ah oui, rien que ça il veut faire notre courageux pingouinaute !

Eh bien bon courage... big_smile

P.S.: c'est pas comme s'il n'y avait pas assez de D.E. qu'il ne puisse trouver son bonheur... mais bon.... au moins c'est pédagogique, on apprend...

et P.S.2 : la démarche "responsable" sous Linux est plutôt de trouver un D.E. proche (~80%/~90%) de ce qu'on souhaite... et de contribuer par des améliorations ! wink

Dernière modification par Zakhar (Le 29/06/2014, à 13:27)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#6 Le 29/06/2014, à 18:30

alius

Re : Apprendre programation systeme Linux

Zakhar a écrit :
pires57 a écrit :

Desktop Environment

Ah oui, rien que ça il veut faire notre courageux pingouinaute !

Eh bien bon courage... big_smile

P.S.: c'est pas comme s'il n'y avait pas assez de D.E. qu'il ne puisse trouver son bonheur... mais bon.... au moins c'est pédagogique, on apprend...

et P.S.2 : la démarche "responsable" sous Linux est plutôt de trouver un D.E. proche (~80%/~90%) de ce qu'on souhaite... et de contribuer par des améliorations ! wink


Peut être que pour toi cela te parait un travail de titan, mais pour d'autres non pas du tout.

Et non, la démarche responsable de linux c'est de laisser les linuxiens faire ce qu'ils souhaitent,et ne pas brider leurs créativités. Tant que ça ne nuit à personne, je n'y vois aucune abjection. D'accord, c'est refaire quelque chose d'une autre façon, mais la diversité n'est pas un mal que je sache.


Alius

Hors ligne

#7 Le 29/06/2014, à 18:54

Elzen

Re : Apprendre programation systeme Linux

alius a écrit :

la diversité n'est pas un mal que je sache.

Au contraire smile

alius a écrit :
Zakhar a écrit :
pires57 a écrit :

Desktop Environment

Ah oui, rien que ça il veut faire notre courageux pingouinaute !

Peut être que pour toi cela te parait un travail de titan, mais pour d'autres non pas du tout.

En fait, ça dépend ce que l'on entend par « Desktop Environment » (ça peut aller des simples outils de base à la suite logicielle complète), mais dans l'ensemble, ce n'est pas si compliqué. En utilisant les bonnes bibliothèques, on peut réussir pas mal de choses sans trop de boulot.

En fait, le plus important, c'est de cibler ce que tu veux faire. Un panel et un gestionnaire de bureau (la fenêtre à l'arrière-plan qui affiche les icônes), ça ne pose pas trop de soucis. Un gestionnaire de fenêtre, c'est plus complexe, parce que ça demande de se pencher sur la Xlib, qui est assez atroce. Mais tu peux tout à fait utiliser un gestionnaire de fenêtres existant et te contenter de faire les outils qui vont autour. Je te le conseillerais même pour éviter de bosser en pure perte, dans la mesure où X ne va pas durer éternellement.

Commence aussi par choisir la bibliothèque graphique avec laquelle tu veux bosser, c'est elle qui va conditionner plein de trucs, à cause de l'écosystème qu'il y a autour. Si tu bosses avec GTK, regarde la bibliothèque WNCK, qui te permet de gérer efficacement tous les événements liés aux fenêtres et aux bureaux. Il y a probablement un équivalent côté Qt, mais je n'ai pas encore suffisamment creusé de ce côté-là pour t'en dire plus.

alius a écrit :

tu verras alors que tu pourra mixer plusieurs langage.

J'aurais tendance à déconseiller ça. À moins de viser un projet titanesque avec plein de contributeurs, ce qui paraît plutôt ambitieux, il vaut mieux rester sur un seul langage, histoire d'assurer une certaine cohérence et de faciliter le suivi. Python est un bon choix, mais bien sûr, à toi de voir en fonction de ce que tu préfères.

oni_shadow a écrit :

j'ai lu que la team d'elementray os avais quasiment tout codé en Vala, est ce un bon choix?

Vala est un bon choix si tu veux coder en GTK en utilisant un langage orienté objet de pas trop bas niveau : c'est pour ça qu'il est fait. Si tu préfères utiliser une autre bibliothèque graphique, oublie ^^

oni_shadow a écrit :

L'anglais ne me derange pas

Tant mieux, parce que sinon, ce serait assez mal parti ^^

oni_shadow a écrit :

ps : si vous avez des info aussi sur comment faire des apps systeme customisable via css (comme gtk3) je suis preneur wink

Je dirais que le plus simple, pour ça, serait d'utiliser GTK3. À moins que j'n'aie mal compris ?

Hors ligne

#8 Le 29/06/2014, à 18:57

pires57

Re : Apprendre programation systeme Linux

certaine personne préfère développer tout de A a Z sans aide pour diverse raison, l'une d'entre elle peut être que reprendre le code d'un autre peut etre difficile parce que l'autre ne pense pas comme toi.


Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne

#9 Le 29/06/2014, à 21:08

Zakhar

Re : Apprendre programation systeme Linux

alius a écrit :

...je n'y vois aucune abjection.

Ha ha... lapsus révélateur. tongue


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#10 Le 29/06/2014, à 21:26

alius

Re : Apprendre programation systeme Linux

@elzen : n'importe quoi, la diversité est essentielle. Pour mille est une raison ! Mon grand père me disait de prendre exemple sur la nature, ya qu'a la regarder pour s'en rendre compte. La diversité permet la survie en cas de maladie par exemple. Si tu veux j'ai d'autres exemples hors nature. Dans l'aéronautique pour la sécurité les mesures faites par les capteurs doivent provenir de systèmes réalisé de façon totalement différente et doivent fournir le même résultat. Si cela n'est pas une preuve que la diversité est essentielle alors je ne sais pas.

@elzen : Quand je parlais d'utiliser plusieurs langages je pensais à de l'architecture distribuée. La cohérence des langages avec ça t'en a plus besoins ! Du moment que chaque composants réponds au contrat de l'interface, tu choisi le langage qui te facilite le plus là vie ! d'où l'intérêt de C++ qui est hybride.

@zakhar : je voulais dire objection. smile


Alius

Hors ligne

#11 Le 29/06/2014, à 22:49

Elzen

Re : Apprendre programation systeme Linux

alius a écrit :

@elzen : n'importe quoi, la diversité est essentielle.

Eùh, oui, c'est à peu près ce que je disais. Tu dis que ce n'est pas un mal, j'ajoute : ce n'est pas un mal, au contraire.

Sinon, pour l'architecture distribuée, c'est peut-être à la mode, mais j'ai beaucoup de mal à voir l'intérêt dans un projet comme celui-là. Il y aurait des besoins spécifiques, je ne dis pas, mais là, j'ai clairement l'impression qu'il s'agit de rendre les choses inutilement compliquées (et on peut utiliser de la programmation par contrat, qui est un chouette truc, sans s'embarquer dans des trucs pareils quand ce n'est clairement pas nécessaire)

Hors ligne

#12 Le 29/06/2014, à 23:29

alius

Re : Apprendre programation systeme Linux

J'ai mal compris alors ! Je pensais à : au contraire, c'est un mal

Le besoins spécifique je l'ai justement vu quand il à parlé d'utiliser du CSS, c'est pour ça que j'ai pensé à ça.


Alius

Hors ligne

#13 Le 30/06/2014, à 20:11

Oni_Shadow

Re : Apprendre programation systeme Linux

Merci pour toutes ces reponses ( et désolé du retard, je suis partis en voyage ce weekend)
Je pensais effectivement a GTK, mon but n'est pas des faire un truc de fou, mais simplement des morceaux de DE (un dock une barre de notifiaction), dans le but d'apprendre et d'avoir mon propre truc smile
certains on laire de dire que c'est une tache titanesque... en regardant le code de plank par exemple, j'ai l'impression qu'avec 3 mois et de la bonne volonté un doc et une barre n'est pas inenvisageable...

la démarche "responsable" sous Linux est plutôt de trouver un D.E. proche (~80%/~90%) de ce qu'on souhaite... et de contribuer par des améliorations ! wink

heu... j'ai tester pas mal de DE et contre toute attente apres plusieurs années sous KDE un bref passage a openbox, je suis tombé amoureux d'unity... Malheureusement je ne suis pas tombé amoureux de canonical...  qui plus est il faut etre averti si on souhaite participer a ce projet ce n'est pas (encore?) mon cas.
Si certains d'entre vous se sont déja penché sur ce genre de chose, avez vous de la littérature a proposer/conseiller?


Rouillé

Hors ligne

#14 Le 01/07/2014, à 10:01

Elzen

Re : Apprendre programation systeme Linux

Comme indiqué dans mon post, si tu bosses avec GTK, alors tu trouveras la plus grosse partie de ce dont tu as besoin pour la gestion des fenêtres et des espaces de travail dans la bibliothèque WNCK.
Ça ne suffira pas pour d'autres trucs (si tu veux gérer les clefs USB et autres supports de stockage, par exemple, tu pourras passer par DBus et Udev/Udisks), mais comme tu ne vas pas tout faire d'un coup, ça devrait déjà te permettre de débuter smile

N'hésite pas à poser plus de questions si tu as besoin ^^

Hors ligne