Codage et programation

Bon voilà je me suis fait à l’idée que je devrais me débrouiller seul pour finir un très gros projets :smt106 et en vus de produire quelque chose de correct je me suis mis en mode apprentissage ( ce que j’avais mis de côté il y a quelques temps par gros, très très gros manque de temps et d’envie :blush: je doit bien l’avouer ).

Je me lance donc dans l’apprentissage des bases de la programmation et pour ça j’ai choisi python qui reste assez accessible et rapide pour produire quelque chose de convenable, multiplateforme et complet; je me pencherai sur les phases d’optimisation en intégrant du c plus tard pour améliorer les quelques scripts que je compte produire et optimiser l’ensemble de mon travail.

Mais devant la masse de travail qui m’attend je me demandais si plusieurs d’entre vous n’aurez pas quelques tuyaux à me filer pour mener mon projets entièrement ( en restant objectif je me fixe entre 8 à 10 mois pour mettre sur pied et fignoler l’ensemble du projet ).

Je recherche donc pour l’instant des cours de programmation en python ( j’ai commencé la lecture de deux ouvrages paru sur le net mais qui me paraisse dater un peut : How to think like a computer scientist ; et un court glaner sur developpez.com ).
Ainsi que de la documentation récentes pour monter un serveur irc proprement et de manière sécurisé et pourquoi pas de la documentation lisible ( enfin pour moi :smt003 ) sur openLDAP afin de pouvoir centraliser tous ce qui est authentification et droits sur les différents services.

Je recherche aussi quelques astuces pour bien rédiger le cahier des charges qui me servira à planifier le développement de mon projets à bien.

Alors pour commencer je compte refaire intégralement un serveur tournant pour l’instant sur une lenny en 32 bits pour la mettre en 64 bits et optimiser au mieux la gestion de plusieurs serveurs de jeux. Si ce n’était que ça, ça irai mais je me lance aussi dans la conception d’un site très complet ( sans doute du plone ou du zope ou encore du django … enfin je sais pas trop encore ) avec intégration d’un serveur irc, d’un serveur ftp public et privé, et un forum, sans compter la gestion de boîte mail.

Pour ce qui est de la partie serveur je me débrouille :smt033 mais pour ce qui est de la gestion et l’intégration d’un forum, d’un ftp, d’un panel de gestion des serveurs, et du serveur irc dans le site sans oublié le serveur mail … bah c’est chaud là :smt100 .

C’est pourquoi je me tourne vers vous afin de glaner quelques astuces et informations me permettant de mener ce projet à terme, j’ai déjà bien avancé dans la rédaction et la conception du cahier des charges du site ( visuel et fonctionnalités présentes ).

AHHHHHH j’allais oublié j’aimerai allez au bout de ce projets en évitant tous ce qui est propriétaire ( les seules binaires propriétaires présentes sur la machine seront ceux de valve et de teamspeak, je ne peut difficilement faire autrement :smt083 ).

Si tout ce passe bien ( :smt047 rassuré moi, ça va bien se passer :smt005 ) je publierai un guide et l’ensemble des scripts en licence libre; j’ai déjà commencé à mettre en forme un début de guide à l’aide zim .

Salut,
Pour commencer python, j’ai deux livres (dispos en pdf sur le net) à te proposer :

  • Apprendre à programmer avec python, G Swinnen, qui a l’avantage d’apporter les bases de la programmation en plus de python. Il est dispo sur developpez.com peut-être l’as-tu déjà

  • Plonger au cœur de python (ou Dive into python), M Pilgrim, qui permet d’aller plus loin avec des méthodes de programmation plus sépcifiques à python (introspection, mutation de listes, etc…). À lire après le premier si tu débutes dans la programmation (à mon avis).

Pour tes autres questions… je passe mon tour :smt003

Merci bien pour le premier effectivement c’est bien ce que j’ai glaner chez developpez.com et le deuxième je m’en vais le télécharger de suite.

Pour python il y a des liens en bas de la page framasoft : http://www.framasoft.net/article1104.html

Pourquoi faire le site en python? Il existe quantité d’outils en php, mysql tout prêts et proposant des framework de développement pour les enrichir si tu trouves pas ta vie, genre drupal par exemple.

[quote=“ours-blanc-”]Pour python il y a des liens en bas de la page framasoft : http://www.framasoft.net/article1104.html

Pourquoi faire le site en python? Il existe quantité d’outils en php, mysql tout prêts et proposant des framework de développement pour les enrichir si tu trouves pas ta vie, genre drupal par exemple.[/quote]

Tout simplement car je pense que cela me motivera plus d’apprendre python on codant des choses que je tient à utiliser et pas de simple exercices, de plus cela me permet de mettre en avant un cms très complet qui me permettra sans doute de pouvoir me lancer après ça dans la conception d’un site pour mon entreprise “made in moi” :smt003

J’y pense si jamais des gens ont l’habitude de gérer de gros projets comme ça et qui pourraient me faire un petit résumé non-exhaustif de la façon de préparer de tel projets ce serait vraiment sympathique.

J’ai abordé il y a des éons maintenant à l’IUT la méthode “merise” ou un truc comme ça mais c’est très loin et pas forcement très clair dans mon esprit.

Sinon dans un autre genre j’ai passé mon été à bosser sur une plateforme web en PERL etc’est vraiment pas mal. FastCGI + PERL Catalyst et Template Toolkit.
Si tu as arrété ton choix sur python c’est une autre histoire, mais, personnellement, PERL m’a beaucoup impressionné et mérite, à mon sens, son surnom de “tronçonneuse suisse des langages de prog” (on peut faire énormément de choses avec de façon très concise mais néanmoins claire). Par contre n’ayant jamais écrit une ligne de python de ma vie je ne pourrais pas tenter de comparer les 2.

Pour ton projet en lui même, il faudrait sans doute que tu nous dises en détail ce que tu veux faire et les modalités (genre si on t’a demandé de faire tel ou tel paramétrage ou si tout est ton initiative et que tu es “libre”).

D’une manière générale et avant de sortir l’arsenal de formalisation : papier / crayon :stuck_out_tongue:

[quote=“Hoshin”]Sinon dans un autre genre j’ai passé mon été à bosser sur une plateforme web en PERL etc’est vraiment pas mal. FastCGI + PERL Catalyst et Template Toolkit.
Si tu as arrété ton choix sur python c’est une autre histoire, mais, personnellement, PERL m’a beaucoup impressionné et mérite, à mon sens, son surnom de “tronçonneuse suisse des langages de prog” (on peut faire énormément de choses avec de façon très concise mais néanmoins claire). Par contre n’ayant jamais écrit une ligne de python de ma vie je ne pourrais pas tenter de comparer les 2.

Pour ton projet en lui même, il faudrait sans doute que tu nous dises en détail ce que tu veux faire et les modalités (genre si on t’a demandé de faire tel ou tel paramétrage ou si tout est ton initiative et que tu es “libre”).

D’une manière générale et avant de sortir l’arsenal de formalisation : papier / crayon :stuck_out_tongue:[/quote]

Disons que d’une manière générale je suis le seul à avoir les compétences :unamused: si on peut dire pour mener à bien le dit projet.
Après pour ce qui est de la normalisation crayon c’est exactement ce que je fais depuis le début mais je me demandé si je ne passé pas à côté d’une méthode me permettant de bien entamé mon projet ( déjà bien démarré puisqu’il me reste encore toute la partie web et une bonne partie de la configuration de la machine en elle même à finir :stuck_out_tongue: ).

Pour le perl j’hésite à balancer ce que j’ai déjà entendu mais apparemment tout comme le C++ c’est un beau “bordel” si on n’a aucune rigueur, et n’ayant que très peut de connaissance en matière de codage j’hésite un peut à me lancer dedans.

Je te confirme qu’il y a moyen de pondre des choses bien infâmes en PERL au début, mais quand on y regarde de plus près, c’est plutôt du au fait qu’on ne pense pas “simple” quand on lui demande quelque chose. Après il y a toujours moyen de se prendre la tête avec des trucs alambiqués comme les hooks mais cela n’est vraiment pas utile.

Maintenant si tu es “tout seul” et que tu sais ce dont tu as besoin j’aurais tendance à dire : grosse liste à points et tu “abats” les items un à un…
Ou penses-tu rencontrer des difficultés exactement ? parceque dans ton post on entend parler de serveur TS, IRC, web et tout plein d’autres trucs et de 8 à 10 mois de travail, mais personnellement j’ai du mal à me rendre compte comment tu as chiffré le problème en “temps” et sur quoi tu bloques actuellement. C’est juste le web ou tu penses avoir besoin d’une petite couche de méthodo que quelqu’un de plus organisé que moi pourrait sans doute te fournir ? =)

Eeerf je me rends bien compte que le développement d’un site internet en python incorporant de l’ajax pour l’égayer sera pour moi l’un des plus gros défi car ce sera le premier.

Si je rajoute à ça le fait d’incorporer tout un panel d’administration des quelques serveurs de jeux et de communication ( teamspeak ), je compte aussi y rattaché un front de ftp et un applet ajax intégrer pour pouvoir interagir sur le serveur irc ( mais bon je viens d’avoir des nouvelles d’un bon ami qui à été à l’initiative d’un beau projet irc donc reste à voir ).

De plus je me rends bien compte que tous ceci prendra du temps, et kle temps je n’en ai pas autant que je le souhaiterai car j’ai aussi une entreprise à gérer.

Donc pour le temps à prendre je ne pense pas pouvoir descendre en dessous de mon estimation première :stuck_out_tongue:

Je note que vus que je suis le seul sur ce projet il est vrai que je pourrai simplement me faire une liste à rayer mais je penser surtout à ne rien laisser au hasard et donc me faire une liste me paraît pas forcement la meilleur pour être sûr de rien oublier … :unamused:

Je continu à creuser pour finir de détailler mon projet, tout du moins sur papier.

Pour la partie web, si tu souhaites utiliser python / perl ou autre chose : pense à te renseigner sur les frameworks disponibles et les moteurs de templates, ça t’épargnera pas mal de boulot. Idem pour ajax : JQuery est pas mal du tout, mais j’ai cru voir que pour le JS certains “nouveaux arrivants” au niveau frameworks devraient permettre pas mal de choses sympathiques et sans trop “suer” en termes de progs (par exemple avec jquery tu as un paquet d’effets graphiques qui sont directement inclus).
Par contre la constante en termes de prog sera d’arriver à maitriser le plus possible la partie “prog” qui te sera nécessaire, et en particulier pour JS, comprendre le principe du hook et essayer, peut être, de programmer un peu objet si tu as plusieurs modules JS à faire.

Pour le reste, je ne pense pas que tu puisses tout prévoir (ce n’est pas possible, il y a toujours des contraintes auxquelles on ne pense pas lors de la conception), aussi une bonne façon de faire pourrait être de procéder de façon incrémentale (tu commences par la base et tu ajoutes des morceaux petit à petit). Tu te prendras beaucoup moins la tête, ton projet avancera en continu et tu éviteras éventuellement de te perdre dans la complexité de certains de ses aspects.

Quelques liens qui pourraient t’aider…

http://www.django-fr.org/

http://www.siteduzero.com/tutoriel-3-160891-jquery-ecrivez-moins-pour-faire-plus.html

[quote=“M3t4linux”]Voici un lien vers le framework python - django

http://www.django-fr.org/[/quote]

Merci bien c’est en effet une de mes réflexions, je m’y pencherai ce soir pour en faire le tour :smt007

Hello,

Un lien sur un site sympa concernant entre autre python et django. biologeek.com/django/

Meilleures salutations.

[quote=“keiboshin”]Hello,

Un lien sur un site sympa concernant entre autre python et django. biologeek.com/django/

Meilleures salutations.[/quote]

Merci bien, ça fera un lien de plus à lire avec bonheur :smt003

Pas experimenté moi-même, mais ça peut valoir le détour : http://werc.cat-v.org/

$ man python
[...]
       Main website:  http://www.python.org/
       Documentation:  http://docs.python.org/
       Community website:  http://starship.python.net/
       Developer resources:  http://www.python.org/dev/
       FTP:  ftp://ftp.python.org/pub/python/
       Module repository:  http://www.vex.net/parnassus/
       Newsgroups:  comp.lang.python, comp.lang.python.announce
[...]

Enjoy :wink:

[quote=“L0u!$”] $ man python [...] Main website: http://www.python.org/ Documentation: http://docs.python.org/ Community website: http://starship.python.net/ Developer resources: http://www.python.org/dev/ FTP: ftp://ftp.python.org/pub/python/ Module repository: http://www.vex.net/parnassus/ Newsgroups: comp.lang.python, comp.lang.python.announce [...]

Enjoy :wink:[/quote]

Ouhais enfin bon ça je le sais, ce n’est pas seulement l’histoire de python mais plutôt des astuces pour gérer au mieux mon projet.
Voir des liens vers des blogs ou de la documentation complémentaire, je le prends pas mal mais ça je le fait assez souvent “man” :stuck_out_tongue:

Prends les choses un item à la fois. Si tu veux mettre en place un serveur web, un IRC et que sais-je : fais les choses une par une et sans stress. ^^

Après pour les aspects techniques hésites pas à venir poser tes questions ici m’enfin je pense que pour un projet si vaste il n’y a pas forcément d’organisation plus optimale qu’une autre, surtout si tu travailles seul dessus, cela serait sans doute différent si vous étiez une petite équipe.

Bon le projets est quasi prêts à démarrer, me manque plus qu’a finir ma lecture :smt003 :smt003 :smt003

Promis je vous tient au jus :smt002