Page 1 sur 2

[LANGAGES] Question avant installation: quels langages on apprend ?

Publié : jeu. 09 juin 2016, 13:25
par vinz
Bonjour,
Archlinux semble être un très bon système d'exploitation pour élargir ses connaissances sur linux et sur la programmation liée au système d'exploitation. Néanmoins, avant de l'installer sur mon nouvel ordinateur, je voudrais savoir en fait quels sont les langages que l'utilisation de l'OS et sa customization permettent d'être amené à découvrir ? En effet, j'ai surtout utilisé la distribution Debian et au niveau de la programmation, j'ai surtout des connaissances dans des langages qui n'ont rien à voir (objet, web).

Je vous remercie d'avance pour vos réponse.

Cordialement,

Vincent.

Re: [LANGAGES] Question avant installation: quels langages on apprend ?

Publié : jeu. 09 juin 2016, 14:04
par Xorg
Bonjour,

Je ne suis pas trop certain de comprendre ta question... Ce n'est pas parce qu'on utilise Arch Linux qu'on va forcément faire de la programmation. La programmation système est le plus souvent du C dans GNU/Linux, mais tu n'as pas besoin de programmer quoi que ce soit pour le fonctionnement de ton système.
Pacman est écrit en C, et Yaourt (qui est un wrapper pour Pacman) est écrit en Bash, mais nul a besoin de comprendre le C ou de maîtriser les scripts shell pour les utiliser.
La customisation, ça viendra surtout des paquets que tu choisiras d'installer.

Arch Linux utilise Systemd comme init, les services ont une syntaxe spéciale, mais celle-ci est dépend de Systemd (et non d'Arch Linux).
La seule "vraie" spécificité que je vois, ce sont les paquets. Arch Linux utilise un fichier nommé PKGBUILD pour la création des paquets, c'est clairement du Bash qui est utilisé.

Mais pour en revenir à ta question, ce n'est Arch Linux qui va te faire devenir un développeur système (tu peux le devenir avec n'importe quel système), et rien de t'empêche d'apprendre/utiliser les langages que tu veux. :)

Re: [LANGAGES] Question avant installation: quels langages on apprend ?

Publié : jeu. 09 juin 2016, 14:50
par vinz
Je te remercie pour ta réponse rapide. En fait, c'est aussi que j'aimerai bien mettre les mains dans le système et pouvoir customizer pas mal de choses à ma façon. Il semblait qu'avec archlinux, on était plus apte à faire ça non ? Néanmoins, si j'ai envie de le faire, ce sera surtout avec du bash et c ?

Re: [LANGAGES] Question avant installation: quels langages on apprend ?

Publié : jeu. 09 juin 2016, 15:10
par Xorg
Tu veux customiser quoi au juste ? C'est trop flou pour qu'on puisse donner une réponse précise.

Re: [LANGAGES] Question avant installation: quels langages on apprend ?

Publié : jeu. 09 juin 2016, 15:33
par RoyalPanda
Bonjour,
Comme beaucoup de distribution, Archlinux est un empilement de beaucoup de chose. La base est écrite en C/C++ pour sa majeure partie mais ne se modifie pas tous les quatre matins "pour tester". Après, les paquets disponibles le sont dans le format utiliser par le développeur, donc il y a du C, du C++, du Python, du PERL et plein d'autres langages.
Si tu souhaites vraiment mettre les mains dans le cœur d'une distribution, une chose est faite pour toi : LFS.
Archlinux, je la vois plutôt comme une distribution modulaire et personnalisable, qui n'a pas spécialement vocation à t'apprendre du langage, quel qu'il soit. Même si par la force des choses, tu est obligé de mettre les mains dedans et donc d'apprendre comment ça fonctionne.
Par contre, pour le coup, LFS "ça pousse velu". En gros, tu te fais ta distribution en entier, en compilant tout depuis les sources. M'enfin même la, tu n'apprends pas "un langage", mais une distribution...

Re: [LANGAGES] Question avant installation: quels langages on apprend ?

Publié : jeu. 09 juin 2016, 17:55
par waitnsea
Bonjour,
Sans te lancer dans la programmation, tu te sentiras bien, au quotidien, de te familiariser avec la ligne de commande :
http://www.shellunix.com/commandes.html
http://www.linuxcertif.com/man/1/ls/
et les bases des scripts en bash : http://marionpatrick.free.fr/man_html/h ... shell.html
ces liens sont des exemples, il y a des dizaines de sites...

Re: [LANGAGES] Question avant installation: quels langages on apprend ?

Publié : jeu. 09 juin 2016, 18:37
par vinz
Je vous remercie tous pour vos réponses et merci pour les liens surtout. Néanmoins, je vais poser une autre question, quelle est la principale particularité de archlinux par rapport à d'autres telles que Debian par exemple ? En fait, c'est un peu autour de ça que tourne ma précédente question. Je vous remercie d'avance pour vos réponses qui vont sûrement résoudre mes interrogations.

Re: [LANGAGES] Question avant installation: quels langages on apprend ?

Publié : jeu. 09 juin 2016, 18:57
par waitnsea
1. Debian a pour vocation la stabilité, l'usage pro-serveur, et ses dérivées - premières (Ubuntu) - et secondes (Mint) - utilisent des versions testing et introduisent des logiciels non-free.
Archlinux est une (la seule ?) vraie rolling-release, cad qu'on y est guidé à chaque grande et inévitable mutation.
De ce point de vue, la Debian SID peut-être utilisée en RR mais comme ce n'est pas sa vocation, on ne sera pas guidé, les distributions comme Mint-LMDE qui l'ont tenté ont bien du mal.

2. La Doc d'Arch est une véritable bible. Celle d'Ubuntu aussi, mais je dirais que celle d'Arch est plus universelle. Je n'ai jamais installé longuement Fedora, elle me semble puissante, mais n'est pas une RR.

3. Aucune configuration n'est pré-mâchée, toute fonction doit être comprise, les manuels lus, les exemples de config analysés et non copiés. Bien qu'Arch vise manifestement des informaticiens confirmés, elle prend par la main les non-informaticiens motivés. Debian, malgré son immense documentation, n'a pas des Wiki aussi clairs, à mon avis

4. Le Wiki francophone est très bien fait, mais, faute de main-d-œuvre, il ne peut remplacer le Wiki-inter. Anglophobes totaux s'abstenir...

Re: [LANGAGES] Question avant installation: quels langages on apprend ?

Publié : jeu. 09 juin 2016, 19:03
par FoolEcho
vinz a écrit :Je vous remercie tous pour vos réponses et merci pour les liens surtout. Néanmoins, je vais poser une autre question, quelle est la principale particularité de archlinux par rapport à d'autres telles que Debian par exemple ?
Deux différences principales:
* le fait d'être une distribution de type rolling release (il n'existe pas de version Arch: les intégrations sont continues).
* le fait de limiter le nombre de patch au minimum vital, le code source est au plus proche de ce qui existe au niveau des différents projets/applications, très peu d'adaptations ou de rustines sont faites pour Arch.

Quand on parle de personnalisation, cela se passe au niveau de la construction du système (tu installes et configures les paquets que tu veux: de base n'est fourni que le noyau, le gestionnaire de paquet, etc. ; si tu veux un gestionnaire réseau tu le prends, pareil pour les environnements graphiques), pas au niveau du code et très peu au niveau des options de compilation même si elle le permet (Arch n'est pas Gentoo).

Re: [LANGAGES] Question avant installation: quels langages on apprend ?

Publié : jeu. 09 juin 2016, 19:13
par vinz
Ok. Globalement, on construit le système autour du noyau. Cela demande des connaissances de base et notamment savoir quels sont les paquets qui correspondent à ce que l'on souhaite faire. Il y a t'il des endroits où l'ont peut facilement trouver les informations ou vaut il mieux passer par les forums ? Pacman doit sûrement être accessible via une interface utilisateur où l'on peut aussi trouver les descriptions et les commentaires ? Désolé pour les questions, je découvre.

Re: [LANGAGES] Question avant installation: quels langages on apprend ?

Publié : jeu. 09 juin 2016, 20:07
par waitnsea
vinz a écrit :Pacman doit sûrement être accessible via une interface utilisateur
Oublie ça, synaptic (fade copie = octopi) n'existe pas sous Arch. Il faut absolument oublier le graphique-à-tout-prix et graisser ton clavier !
Yaourt est un outil puissant, il simplifie l'installation des paquets AUR mais est un outil de recherche plus puissant et maniable qu'aptitude (vraiment pénible et error-friendly à mon avis)

Edit : Yaourt s'utilise aussi en ligne de commande, comme pacman, avec les fonctions supplémentaires dites plus bas

Re: [LANGAGES] Question avant installation: quels langages on apprend ?

Publié : jeu. 09 juin 2016, 21:06
par Xorg
Ce n'est pas vraiment la vocation d'Arch Linux de proposer des interfaces pour les utilisateurs. L'installation, qui se fait uniquement en ligne de commande, en témoigne. Le but est de comprendre comment ton système fonctionne. Si tu veux quelque chose d'user-friendly ou out-the-box, alors Arch Linux ne te conviendra pas.
On peut résumer GNU/Linux a un ensemble de briques : on prend divers logiciels, qui constituent des briques, et les uns avec les autres constituent la distribution. Arch Linux a juste besoin des paquets du groupe base pour fonctionner.

Après il existe des logiciels créés par certains utilisateurs et distribués sur AUR (comme pacmanxg), mais ça n'a rien d'officiel. :)

Debian est plus connue pour son côté stable, mais les paquets sont très souvent périmés par rapport à la dernière version upstream. Après c'est ce qu'on dit, je n'ai pas à me plaindre de problème de stabilité, tous dépend des paquets utilisés.
Par rapport à ce que dit Waitnsea, Pacman a rien a voir avec dpkg/apt-get/aptitude. J'étais habitué à eux au début, et aujourd'hui il y a plein de commandes que je suis capable de faire avec Pacman mais pas avec apt. :lol:
Question de préférences.

Re: [LANGAGES] Question avant installation: quels langages on apprend ?

Publié : jeu. 09 juin 2016, 22:18
par otacon
Cela demande des connaissances de base et notamment savoir quels sont les paquets qui correspondent à ce que l'on souhaite faire. Il y a t'il des endroits où l'ont peut facilement trouver les informations ou vaut il mieux passer par les forums ?
Oui pour les connaissances de base. Pour les acquerir, tu installes ton arch linux suivant le wiki : base, bootloader, serveur graphique, environnement, logiciels productif. Alors tu auras compris le fonctionnement du wiki et tu pourras te sortir de tous les obstacles (il y en a en fait très peu si tu as une installation basique). Oublies tout de suite les tutos qui fleurissent sur le net, ce que tu penses gagner en temps d'installation sera perdu au centuple à la moindre question/petite config à faire. Wiki for ever.

Quand je cherche un paquet, en général je tape "nom_du_logiciel archlinux" sur goog et je trouve très rapidement le nom du paquet. Reste à l'installer avec pacman.

Re: [LANGAGES] Question avant installation: quels langages on apprend ?

Publié : jeu. 09 juin 2016, 22:55
par Xorg
otacon a écrit :Quand je cherche un paquet, en général je tape "nom_du_logiciel archlinux" sur goog et je trouve très rapidement le nom du paquet. Reste à l'installer avec pacman.
Ou sinon, quand tu connais le nom exacte d'un fichier présent dans un paquet, tu peux utiliser pkgfile. Ça donne le nom des paquets qui fournissent ce fichier. :D

Re: [LANGAGES] Question avant installation: quels langages on apprend ?

Publié : jeu. 09 juin 2016, 23:28
par benjarobin
Je ne sais pas si pkgfile est déprécié mais maintenant cette fonctionnalité est parfaitement géré par pacman en natif. Donc inutile d'installer un paquet supplémentaire pour cela

Re: [LANGAGES] Question avant installation: quels langages on apprend ?

Publié : ven. 10 juin 2016, 08:16
par vinz
Merci pour les réponses et aussi les différents gestionnaires de paquets qui semblent diviser un peu tout le monde : yaourt et pacman. Si j'ai bien compris, le premier est en ligne de commande et le second propose une interface utilisateur graphique. pkgfile sert quant à lui a récupérer les fichiers au sein des paquets et peut être créer un paquet ?

Re: [LANGAGES] Question avant installation: quels langages on apprend ?

Publié : ven. 10 juin 2016, 09:05
par Xorg
vinz a écrit :Merci pour les réponses et aussi les différents gestionnaires de paquets qui semblent diviser un peu tout le monde : yaourt et pacman. Si j'ai bien compris, le premier est en ligne de commande et le second propose une interface utilisateur graphique. pkgfile sert quant à lui a récupérer les fichiers au sein des paquets et peut être créer un paquet ?
Non, non et non.

Pacman c'est le gestionnaire de paquets par excellence d'Arch Linux, il n'y en a pas d'autre. Il est uniquement en ligne de commande (j'ai mis le lien d'un paquet qui permet d'utiliser Pacman avec une interface graphique, mais ça n'a rien d'officiel, et personnellement je ne connais pas beaucoup de gens qui l'utilise).
Yaourt utilise Pacman, mais il offre quelques fonctionnalités supplémentaires, comme par exemple il permet de compiler des paquets sources présents sur AUR. Il est lui aussi en ligne de commande. En fait, il y a d'autres alternatives à Yaourt, mais on est nombreux à l'utiliser dans la communauté française (car il est justement développé par archlinuxfr).

Oublie ce que j'ai dit à propos de pkgfile... Ça ne récupère pas de fichier, c'est juste que ça te donne le nom du paquet qui contient un fichier. Tu en auras sans doute pas besoin. C'est utile par exemple quand tu veux utiliser une commande qui n'est pas installée et que tu cherches le paquet qui la fournit :

Code : Tout sélectionner

$ pkgfile gedit     
extra/gedit
@Benjarobin : Tu veux parler de pacman -Fo ? Je viens de tester, il faut donner le chemin complet et la recherche est assez lente, contrairement à pkgfile. :)

Re: [LANGAGES] Question avant installation: quels langages on apprend ?

Publié : ven. 10 juin 2016, 10:33
par benjarobin
Je parle de pacman -Fs, voir le man pour faire des regexp. Je n'ai pas noté la moindre différence de performance, ce ne serait pas juste une histoire de cache ?

Re: [LANGAGES] Question avant installation: quels langages on apprend ?

Publié : ven. 10 juin 2016, 11:37
par Xorg
benjarobin a écrit :Je parle de pacman -Fs, voir le man pour faire des regexp. Je n'ai pas noté la moindre différence de performance, ce ne serait pas juste une histoire de cache ?
Ah oui, je ne suis pas familier avec cette option (je n'avais pas vu qu'elle avait fait son apparition avec Pacman 5).

Code : Tout sélectionner

$ time pacman -Fs gedit
extra/gedit 3.20.2-1
    usr/bin/gedit
pacman -Fs gedit  1,56s user 0,06s system 99% cpu 1,629 total
                                                                                
$ time pkgfile gedit
extra/gedit
pkgfile gedit  0,15s user 0,01s system 171% cpu 0,093 total
Enfin bref, ce n'est pas bien grave.

Re: [LANGAGES] Question avant installation: quels langages on apprend ?

Publié : ven. 10 juin 2016, 12:18
par benjarobin
En effet c'est plus lent avec pacman (vérifier avec la même requête: gedit), mais bon ce n'est pas catastrophiquement plus lent