Вы находитесь на странице: 1из 41

mag

D
n u m r o 2

x dou Bau iciel me r log Jr peu p 2 velo 217

PRSK a mp3 ag La s

der Blen are guit une e d bas pt 3 La scri ts on Acti cemen pla et d s C++ ition d do Con u vi Je
The Flying Ship
t_abw

EDITo
InTErvIEw
Jrome Baudoux ................................................. 3 | Jeune dveloppeur logiciel
par Spoke44

projET
RSKP-2172 .......................................................... 7 | La saga mp3 de D6-BL

Le temps cest de largent


disait Benjamin Franklin, et cela est encore plus vrai lorsquon parle de professionnels ! Cest pourquoi je souhaite remercier chaleureusement Derzone pour avoir entirement revu le design du magazine et mavoir appris beaucoup de choses pour la mise en page, et cela bnvolement Donc un grand Merci ! Merci aussi toutes les personnes qui acceptent ou ont accepts de participer leffort de guerre en crivant des articles ou des tutoriels pour le magazine. Ces personnes passent beaucoup de temps rdiger, corriger, illustrer leurs crits et il serait dplac de ne pas les remercier ! Je marrte ici sinon on va encore dire que je radote Cette accroche vient un peu expliquer le statut juridique qui a t fix pour le magazine. Il a t dcid de le mettre sous licence BY-NC-ND. Vous pouvez donc reproduire, distribuer et communiquer le magazine en citant les auteurs concerns. Vous ne pouvez pas en revanche utiliser le magazine des fins commerciales ou le modifier. Pour en savoir un peu plus je vous renvoie cette adresse : http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ Il reste normment de choses voir pour amliorer le magazine, cest pourquoi je vous invite venir critiquer (dune manire constructive bien sr) ce second numro sur le topic qui lui est associ dans le forum Prsentation de vos projets. Jaimerais en profiter pour faire une petite publicit pour un forum plutt connu qui traite du dveloppement de jeux vidos amateurs : le forum Game Creators Network (http://forum.gamescreators.org). Un concours de dveloppement de jeux vidos nomm Les Novendiales vient tout juste de dmarrer. Ce concours se droule sur 9 jours et le thme est Ile et/ou Pirate . Pourquoi ne pas participer ? Je vous renvoie donc dans la partie Espace Membres lencadr qui concerne Les Novendiales pour en savoir plus. En vous souhaitant une excellente lecture et en esprant que ce numro sera la hauteur de vos esprances,

arTIclES
Le monde dUNIX ................................................ 11 | Un peu dhistoire
Dveloppement web ........................................... 13 | Facilitez la cration web

Le Caml Light ...................................................... 15 | Limplmentation lgre du Caml

TuTorIElS
Blender 3D .......................................................... 17 | Modlisez la base dune guitare

Apprenez programmer en Actionscript 3 ......... 23 | Conditions & Dplacement dun clip


Dveloppez un jeu vido ..................................... 27 | Le morpion

ExErcIcES
Calendrier en Javascript ...................................... 34 | Plusieurs exercices de niveaux diffrents

ESpacE mEmbrES
Les Novendiales ................................................... 35 | Concours du GNC
Les Speeds Mods ................................................. 36 | Rcapitulatif des sessions du mois

Les tutoriels du mois ........................................... 37 | Petit retour en arrire sur les sorties du mois Les projets des membres .................................... 40 | Ce quil ne faut pas manquer

Spoke44.

Interview de Jrme Baudoux

InTErvIEw

alias leonsulivan par Spoke44

jEromE bauDoux
Dveloppeur logiciel frachement sorti de luniversit dinformatique
Salut jrme, une prsentation rapide ? Salut, et bien je mappelle Jrme Baudoux a.k.a. leonsulivan, jai 24 ans et comme vous vous en doutez je suis passionn par linformatique et en particulier le dveloppement de logiciels. Jai commenc faire mes premiers programmes il y a environ une dizaine dannes. Il sagissait alors de petits programmes en BASIC pour la plupart, puis avec la monte dInternet je me suis mis au HTML/PHP. Enfin grce mes tudes jai pu apprendre de magnifiques langages comme le C++ ou le Java. Pour finir cette brve prsentation, je mentionnerai le fait que je suis rest trs fan des bons vieux jeux Old School en 2D comme on en faisait sur NES ou Megadrive. rien appris de dterminant pour la suite de mes tudes, toutefois il faut avouer que les coles et universits ont tendance prfrer ce genre de Baccalaurat. Il a ensuite fallu choisir une formation parmi les nombreuses disponibles dans le suprieur. Personnellement, je me suis dirig vers un IUT (Institut Universitaire de Technologie) afin de commencer directement la pratique, ce qui nest pas le cas durant les premires annes de Licence, o les notions restent assez gnrales. Une fois mon DUT (Bac+2) en poche, jai repris la formation universitaire directement la dernire anne de Licence (Bac+3). Certains de mes camarades ont choisi darrter l leur cursus, et ont commenc travailler. De mon ct, jai prfr embrayer sur un Master (Bac+5) du nom de Dveloppement des Applications Rparties.

le master que vous avez obtenu se nomme Dveloppement des applications rparties (Dar) , que se cache-t-il derrire ce nom trange ? Derrire ce nom un peu trange se cache un Master ax sur le dveloppement dapplications dites complexes . Il faut savoir que lorsque lon souhaite raliser un programme traitant des donnes trs vastes ou demandant deffectuer des calculs trs complexes, il est rarement possible de le faire fonctionner sur une machine unique. Pour faire simple, il faut donc raliser une application (ou un ensemble dapplications) qui pourra tre installe sur plusieurs machines collaborant entre elles au travers de moyens divers dans le but deffectuer le traitement. Pour ceux qui veulent plus dinformations

pouvez-vous nous prsenter rapidement votre cursus depuis le bac Comme beaucoup, jai t dirig vers un Baccalaurat scientifique lorsque jai mentionn le fait que je voulais travailler dans le dveloppement de logiciels. Je ny ai

page 3

Jerome Baudoux

sur ce Master, je vous encourage consulter la plaquette de la formation ladresse suivante : http://www.master-informatique. net/m2prodar.html

InTErvIEw

Ce nest par exemple qu partir du Bac+5 que luniversit dans laquelle jai tudi commence proposer un parcours Imagerie Numrique destin aux mtiers du jeu vido.

IuT, bTS, universits ou coles dingnieurs l informatique est enseigne un peu partout et tous les niveaux (bac+2, +3, +5 et plus) ; quel est votre avis sur ces diffrents cursus ? une formation a favoriser devant les autres ? Je ne pense pas quune formation est privilgier par rapport une autre. Elles apportent toutes des comptences diffrentes qui vont permettre de sorienter dans un domaine professionnel diffrent. De manire schmatique, on peut sparer ces formations en deux types. Les formations dites courtes (Bac+2, Bac+3), et les formations dites longues (Bac+5, Bac+8). Les personnes en possession dun Bac+2 ou Bac+3 seront de manire gnrale plus recherches pour travailler dans les mtiers lis au Web. Au contraire, il sera plus facile pour vous de postuler un poste de dveloppeur logiciel (ou jeux vidos) si vous avez un Bac+5. Pour ce qui est du choix entre le parcours universitaire et Ingnieur, je nai pas toutes les cls en ma possession pour vous noncer les diffrences, cela dit je peux vous dire quen rgle gnrale un Ingnieur sera mieux pay quun Universitaire comptences gales.

Des conseils concernant les tudes dans linformatique ? De manire gnrale, travailler sur des projets personnels en dehors de vos tudes est un plus non ngligeable pour progresser, cest en plus un point positif lorsque vous chercherez un emploi (cela prouve votre motivation). Concernant le jeu vido, il ne reprsente quune infime partie de linformatique et est par ailleurs lun des domaines les plus exigeants, donc il vaut mieux ne pas baser tous ses espoirs sur ce dernier si jamais vous souhaitez vous diriger vers des tudes dans linformatique.

vous venez de trouver un emploi paris, moins de 2 mois aprs la fin de votre stage. Est-il facile de trouver un emploi aussi rapidement en sortie de formation ? Je pense que la rponse cette question dpend de nombreux facteurs. Il est par exemple plus difficile de trouver un emploi dans le jeu vido que dans le dveloppement Web, tout comme il est plus difficile de trouver un emploi en Province quen le de France. Cependant, je dirais que si lon nest pas trop regardant sur le poste, on peut trouver du travail assez facilement. Cest dailleurs assez tonnant lorsque tout le monde dit que linformatique est un march bouch . Par contre, il est peut-tre intressant de prciser quil y a plusieurs sortes dentreprises recrutant des Ingnieurs dveloppeurs (vous pouvez tre ingnieur dveloppeur sans avoir une formation Ingnieur, ne vous laissez pas avoir par le titre) : les diteurs de logiciels En intgrant ce genre dentreprise, vous allez travailler sur un projet dvelopp par lentreprise. Vous travaillerez donc avec la mme quipe (donc les mmes collgues) tant que vous ne changez pas de poste. o Les + : Ambiance dquipe, avantages CE. o Les - : Vous restez souvent cantonn un produit et quelques technologies.

le monde informatique ne cesse de stendre, pensez-vous quil soit important de se spcialiser dans un domaine particulier pour sortir du lot ? (ou linverse, essayer de toucher tout et faire valoir ses multicomptences ?) Cela dpend en fait des mtiers recherchs. En gnral, les entreprises qui recherchent des personnes polyvalentes ne requirent pas de comptences pousses et vont chercher dans les candidats ayant fait des formations courtes. Comme je lai dit avant, cest surtout du dveloppement web. Pour la majorit des cas, il me semble important de se spcialiser, car la plupart des entreprises recherchent des profils prcis pour rpondre des besoins spcifiques. Dans ce cas-l, il faut se diriger vers des formations longues, car ce sont elles qui apportent la spcialisation dans un domaine.

page 4

les SSII (majorit des offres demploi) En intgrant ce genre dentreprise, vous effectuerez des missions au titre de consultant chez des clients de votre entreprise. Vos comptences seront donc en quelque sorte loues . Ces missions peuvent tre assez loignes de chez vous et il est possible que certaines de vos missions ne correspondent pas vraiment votre profil ou ne vous plaisent pas. o Les + : Vous apprendrez beaucoup plus que chez un diteur de logiciel et vous prendrez des responsabilits plus rapidement. o Les - : Les salaires sont souvent moindres que chez les diteurs de logiciels. Les missions peuvent tre trs loignes de vos comptences. Vous changez souvent dentreprise et de collgues.

qui de crer ses propres niveaux grce lditeur fourni et de les partager avec la communaut. Il est aussi possible de joueur deux sur le mme PC, aussi bien en partageant le clavier, quen utilisant deux joysticks (depuis la dernire version).

Jerome Baudoux

InTErvIEw

Pour ma part, le plus dur dans ma recherche demploi a t de trouver un poste chez un diteur de logiciel. En effet, ceux-ci exigent souvent plusieurs annes dexpriences, chose que je navais pas. Les SSII tant beaucoup moins regardantes sur lexprience lembauche, beaucoup de personnes prfrent commencer par travailler pour ces dernires quelques annes, puis chercher un poste chez un diteur de logiciel par la suite. Jai cependant eu la chance de trouver exactement ce que je recherchais sans passer par une SSII.

Le jeu est loin dtre termin, beaucoup est encore faire, comme lajout de fantmes pour sauvegarder les meilleurs temps, la gestion des mods

battle jump est cod en java, tait-ce une volont particulire de favoriser les applications multiplateformes ? Une partie du jeu est en effet code en Java (mon langage de prdilection), il sagit des outils externes au jeu, comme lditeur, le lanceur et le gestionnaire de niveaux. Cependant, le jeu lui-mme est ralis en C++ / OpenGL. Ceci nempche cependant pas le jeu dtre multiplateforme, car toutes les bibliothques choisies pour le dveloppement du jeu existent aussi bien sous Windows, Linux que Mac OS. Le fait de faire un jeu multiplateforme est bien sr quelque chose de voulu. Je comprends tout fait quun studio de dveloppement dcide dignorer une plateforme, car elle napportera aucun profit. Cela dit, les jeux amateurs sont trs peu connus du grand public, il est donc important dlargir au maximum son public. De plus, il faut avouer quen utilisant les bonnes bibliothques, raliser un jeu multiplateforme nest pas plus compliqu que de raliser un jeu fonctionnant uniquement sous Windows. Il serait donc bte de sen priver.

vous tes connu dans le monde amateur du jeu vido avec votre projet Battle Jump. Quelques mots pour nous le prsenter, les objectifs ? Battle Jump est un petit jeu en 3D trs orient arcade. Le but du jeu est de tester votre dextrit en dplaant votre personnage au travers de plateaux truffs de piges. (Acclrateurs, blocs mobiles, trappes, trous) Le jeu a beaucoup volu durant ses deux annes de dveloppement, notamment grce aux membres du SdZ qui proposent de nombreuses amliorations, et mme traduisent le jeu dans dautres langues). Il est possible lheure actuelle nimporte

page 5

vous projetez-vous dans lavenir vers le monde professionnel du jeu vido, ou cela reste-t-il uniquement un loisir personnel ?

Jerome Baudoux

InTErvIEw

Je pense qu partir du moment o lon fait de sa passion son mtier on perd le plus important : la libert. Ce qui me plait dans la cration de jeux vido est de faire le jeu auquel jai envie de jouer. Ceci devient impossible dans un contexte professionnel, o le plus important est de faire un jeu qui plaira au plus grand nombre dans le but de le vendre. Je pense donc que le jeu vido restera pour moi un loisir personnel.

Dans le domaine amateur, cela me semble plus nfaste quautre chose, car il est trs difficile de maintenir du monde sur un seul projet pendant des mois (voir des annes). Le mieux est encore davoir un groupe de 23 personnes maximum, trs soud, qui travaille de manire proche, voire de travailler seul si vous avez la motivation suffisante pour mener bien le projet. Dernier conseil pour la route, le plus important dans la ralisation dun jeu amateur est de prendre du plaisir le faire. Si pour vous cela constitue une corve qui doit tre faite afin de gagner de largent (Jeux par navigateur avec micro paiement, MMO free to play, ), alors je pense que vous tes sur le mauvais chemin. Propos reccueillis par Spoke44.

De nouveaux projets en perspective ? Jai pas mal dides en tte, mais il y a encore tellement faire avec Battle Jump que je pense que je vais attendre un peu avant de me lancer. Cela dit, je peux vous avouer que jai vraiment envie de me lancer dans un Manic Shooter en 3D. Jaimerais aussi faire quelques jeux sur tlphones portables (iPhone, Android, ). Bref, les ides ne manquent pas !

les zros sont toujours avides de conseils pour voluer, pouvez-vous nous donner vos astuces pour mener bien un projet ? Le premier point important est dessayer de ne pas viser trop haut. On voit beaucoup de projets qui ne finissent pas car les objectifs sont dmesurs. Il vaut mieux partir sur un petit projet et le finir, quitte le faire voluer plus tard, que de se lancer tte baisse sur quelque chose qui ne sera jamais fini.

Mieux vaut tre seul que mal accompagn.


On voit galement pas mal de projets qui enchainent les recrutements pour agrandir lquipe, en esprant avancer plus vite. Pour les curieux :
les sites de jrme baudoux http://www.jerome-baudoux.com/ http://www.battlejump.com/ tudes & orientations http://www.onisep.fr/ http://www.studyrama.com/

page 6

Type de projet Saga audio

projET

avancement 3 pisodes soit 1h30 par D6-BL

rSKp-2172
Dcouvrez la saga mp3 futuriste de D6-bl

Ce nest que quelques annes plus tard que jai finalement dcid de me lancer dans laventure et de crer ma propre Saga MP3, baptise RSKP2172.

prSEnTaTIon DE l auTEur
Je profite de cet article pour saluer tous les Zros ! Jespre que vous prendrez plaisir dcouvrir mon projet. Alors que dire sur moi Je suis un jeune comme les autres, avec ses 23 annes dexistence sur cette plante. Actuellement, je suis en Master 1 International Business sur Toulouse, domaine qui me plat particulirement tant donn mon got prononc pour les voyages. Et oui, jaime bouger ! Mis part cela, jai plusieurs passions dans la vie, dont le sport (football amricain, muscu), linformatique et les Sagas MP3. Jai dcouvert ces dernires au lyce, lge de 15 ans, aprs quun ami mait fait couter quelques pisodes du Donjon de Naheulbeuk. Le concept mavait totalement sduit et trs rapidement jai cherch en dcouvrir dautres.

Saga mp3 KESaKo ?


Pour faire simple, une Saga MP3 est une sorte de film sans images. Tout se passe uniquement dans vos oreilles. Vous souvenez-vous des histoires que vous racontez vos parents pour vous endormir ? Oui ? Et bien rajoutez quelques musiques de fond, quelques bruitages, secouez le tout et Tadaaaaa ! Vous obtenez une Saga mp3. Je reconnais que la description est quelque peu simpliste mais cest pour vous donner une ide. Donc en gros, la seule chose que vous avez faire est de fermer les yeux et vous laisser transporter par ce que vous entendez La plupart du temps, une Saga MP3 raconte une aventure que le crateur dcoupe en plusieurs pisodes. Le vritable dfi est de raliser quelque chose de vraiment raliste, en jouant sur le jeu dacteur, les bruitages et le mixage/

page 7

montage. Vous laurez compris, contrairement aux livres audio, une Saga MP3 nest pas lue mais interprte.

imagin

RSKP-2172

projET

rSKp-2172 lE projET
Comme je vous lai dit plus haut, ce nest que trs rcemment que jai dcid de sauter le pas et de crer ma propre saga MP3 : RSKP-2172. (Je tiens rappeler que les pisodes sont tlchargeables gratuitement sur le site : www.rskp-2172.fr) Bref, je voulais tre original et ne pas raliser quelque chose de vu et revu. Jai donc opt pour une aventure srieuse , chose plutt rare dans la saga-sphre mais qui tend se dvelopper de plus en plus. Aprs quelques jours de rflexion, mon scnario voyait enfin le jour. Ayant toujours t un grand fan des films Post-Apocalyptiques, cest tout naturellement que jai dcid dutiliser le film 2012 comme point de dpart pour ma saga. Cependant mon aventure se passe bien plus tard, en 2172, sur une Terre encore bien meurtrie par les catastrophes naturelles passes. Plus rien nest comme avant ! Des pays sont aujourdhui engloutis par les eaux, des continents ce sont fragments, le climat a chang et la vgtation recouvre la quasi-totalit de la plante. Cest sur cette Terre mconnaissable que les rares survivants ce sont regroups dans une mme ville et ont commenc la reconstruire. Mais trs vite, la soif de pouvoir encre dans le cur des hommes cra des divisions et une lutte acharne dbuta. Des annes plus tard, un tyran, le Haut-Commandeur, russit finalement imposer sa domination et rduisit les tres humains ltat desclaves et de cobayes pour ses expriences. Cependant, cach dans les gouts de lancienne ville, un groupe de rsistants lutte contre le nouveau gouvernement. Mais ce combat pour la libert les conduira bien plus loin quils ne lauraient

maTrIEl / EnrEgISTrEmEnTS / DurE la parTIE TEchnIQuE


Ha! Nous entrons enfin dans la partie technique du projet ! Vous devez surement vous demander Quel matriel faut-il pour crer une saga MP3 ?. En ce qui me concerne, je possde un micro M-Audio Nova (100), une carte son externe Fast Track Pro de M-Audio galement (160), un pied de micro (20), un casque et un filtre anti-pop (15). Je reconnais y avoir mis le prix mais il est tout fait possible du trouver du trs bon matriel des prix beaucoup plus bas. Mais revenons nos moutons ! La majorit des voix prsentes dans mes pisodes sont ralises par moi-mme. Je ne fais intervenir que trs peu de personnes afin de rester le plus autonome possible. Pour tre plus prcis sur le sujet, les pisodes 1 et 2 ont t entirement raliss par moi-mme. Seul lpisode 3 fait intervenir dautres voix (Nama pour les chuchotements, Zylann pour la voix de lordinateur et Istria pour le message vido). Au niveau des enregistrements, ces derniers se font grce au logiciel Cubase S X 3 , u n squenceur audio relativement complet. Jenregistre chaque phrase dans lordre, les unes aprs les autres, en changeant ma voix selon les personnages. Cette tape est plus ou moins rapide, cela dpend de votre jeu dacteur, de votre niveau dexigence et de la dure de votre pisode. En gnral, je recommence chaque rplique une dizaine de fois avant dtre vraiment satisfait ! Une fois cette tape termine, je passe la recherche des musiques et des bruitages pour rendre mon pisode vivant et plus joli sur le plan sonore. En gnral, cette partie est longue Trs longue Il est toujours trs difficile de trouver LA musique la plus adquate pour telle scne ou LES bruitages qui rendront le tout plus raliste. Cest un peu de la splologie sur internet ! Vient ensuite le mixage / montage qui est,

page 8

RSKP-2172

projET

selon moi, la partie la plus intressante. Cest l que lon va donner une vraie dimension lpisode en plaant les bruitages gauche ou droite, en donnant un effet de mouvement (et de spatialisation) aux personnages, en rglant lensemble des sons grce lgaliseur, en purant les voix Le tout pour arriver un pisode peu prt potable et qui ne dtruira pas les oreilles sensibles de nos auditeurs bien aims ! Bref, pour vous donner une petite ide, entre la sortie de lpisode 02 et la sortie de lpisode 03 il y a eu un laps de temps dun mois environ.

descriptifs dpisodes ou des sujets quelconques que je souhaiterais aborder Voil pour les grosses lignes. Aujourdhui, plusieurs objectifs sont lordre du jour ! Tout dabord, finir lpisode 04 et le mettre en ligne (ce qui ne devrait pas tre trop compliqu). Deuximement, je souhaiterais dvelopper une partie Tutoriel (qui a dj commenc voir le jour) dans laquelle jexpliquerai de A Z comment crer sa propre saga mp3. Quand je dis de A Z, je veux parler de lcriture du script jusqu la mise en ligne de lpisode. Jaborderai srement les solutions existantes au niveau des sites internet pour les dbutants. Dautre part, un projet important pour moi (et que lon ma fait remarquer sur le forum) serait dadapter le site pour les personnes nonvoyantes. Il me parat logique que ces dernires reprsentent une cible privilgie pour les sagas MP3. Jai donc lintention de me pencher sur la question et, pourquoi pas, faire connatre RSKP2172 sur des sites, forums et associations de nonvoyants. Article rdig par D6-BL.

EpISoDE 04 SpoIlEr
Lpisode 04 nest pas encore sorti (ni mme fini) mais - Car il y a un mais - je vais quand mme vous rvler quelques informations indites sur cet opus. Aprs stre fait attaquer la fin de lpisode 02, le capitaine Roy Griffins et le sergent Ryley se rveilleront dans une base subaquatique, dlaisse depuis bien longtemps. Je vous laisse donc imaginer ltat du lieu : sombre, des bruits de grincements mtalliques Nos deux personnages vont donc essayer, sans armes, de sortir de cet endroit et retrouver matre Darius Malheureusement pour eux, a ne sera pas si facile ! Ils ne sont pas seuls Quelque chose dautre est dans la base De son ct matre Darius va lui aussi se faire capturer et ramener au sein dune ville, en pleine fort. Il dcouvrira alors quil y a dautres tres humains et en apprendra davantage sur le terrible secret que renferme la cit de Dagmra Mais je ne vais pas tout dvoiler maintenant, sinon il ny aura plus de suspens !

lE SITE InTErnET ThE www


Avant toute chose, je tiens prciser que les diffrents tutoriaux du Site du Zro mont t trs utiles dans la ralisation du site de RSKP-2172 (mme si jai favoris Wordpress pour son ct pratique). Le site en lui-mme se veut relativement simple et intuitif. En passant la souris sur longlet RSKP-2172, un menu droulant vous proposera dcouter les pisodes ou de les tlcharger. Rien de plus simple ! Le menu Blog me permettra de poster diffrents articles, notamment des

page 9

RSKP-2172
Nous sommes en lan 2172 Je mappelle Roy Griffins et je suis le capitaine dun groupe de rsistants qui sopposent au nouveau systme. Mais avant daller plus loin, je dois vous raconter comment tout a commenc Ctait il y a 160 ans, bien avant ma naissance, en 2012 A cette poque, des catastrophes naturelles sans prcdents vinrent bouleverser la face de la Terre. Le calendrier Maya avait annonc ce jour des milliers dannes auparavant mais nous ne voulions pas y croire. Lapocalypse ne pouvait arriver si tt ! Malheureusement, nous avions tort Des raz-de-mare, tremblements de terre et ruptions volcaniques frapprent le monde de toute part, comme si la nature essayait de prendre sa revanche sur lhomme. Certains voyaient en ces catastrophes naturelles une rsultante du rchauffement climatique. Dautres, quant eux, y voyaient la Main de Dieu La suite sur le site de lauteur :
http://www.rskp-2172.fr

projET

Pour les curieux :


Sagas conseilles par D6-bl Aujourdhui, la saga MP3 est un domaine qui se dveloppe normment et de nouvelles crations voient le jour rgulirement. Il en existe plus de 570 et comme vous devez vous en douter, certaines valent plus la peine que dautres dtre coutes ! Voici donc deux sagas prometteuses que je vous propose de dcouvrir milhana (de Zylann) Anne 2093. Alors que les cyber-technologies poursuivent leurs avances, une socit scientifique du nom de Gamelife a ralis un tour de force, que lon croyait impossible jusqualors : connecter intgralement un humain un monde virtuel, grce aux travaux dun minent chercheur, Alvin Trevan. Trs vite, la communaut de Gamelife a lanc un projet sans prcdent : un monde fantastique reprenant les bases de tous les jeux en ligne connus, afin de raliser la premire ralit alternative ouverte au public: MILHANA http://milhana.webnode.fr/ urban revolution (de celebo) : Nous sommes en lan 3041. Depuis quelques sicles, la paix rgne globalement sur la Terre et ses quatre colonies torodales, situes dans lorbite de celle-ci. Au lieu de centaines de pays, lhumanit dispose maintenant dun Etat mondial, dune langue Humaine unique et de gouvernements coloniaux quasi-indpendants : un par colonie spatiale. Cependant, sur la colonie de Hylan, ddie en majeure partie la recherche militaire, robotique et aux services secrets, un message de dtresse est reu en provenance de la Terre par ces derniers. Mais aprs en avoir inform le gouvernement Hylant, ce dernier conclut rapidement un canular. Rapidement... Bien trop rapidement au got de Sirius Preston, lun des responsables des services secrets, dans lesquels il commande personnellement une quipe dlite, nomme Equipe Valkyrie. http://www.urbanrevolution.fr/ le site du projet rSKp-2172 pour ceux qui ont russi le louper http://www.rskp-2172.fr

page 10

Sujet Le monde dUNIX

arTIclE

par R@f

lE monDE DunIx
Un rsum dhistoire...
UNIX est un sujet invitable dans le monde de linformatique. On entend parler dAIX, de Solaris, dHP-UX ou encore dUnix-like comme GNU/Linux mais beaucoup de gens ne savent mme pas ce que cest. A travers des petits rsums vous allez apprendre comment Unix et ses drivs sont ns et ont volus jusqu aujourdhui.
la naISSancE DunIx 60
A la fin des annes 60, un chercheur amricain travaillant pour les laboratoires Bell, Ken Thomspon (ci-contre), dcida de dvelopper un systme dexploitation mono-utilisateur appel New Kens System. Un peu plus tard, le nom Unics fut propos qui a t contract en Unix par la suite. En 1972, Ken Thompson voulait rcrire UNIX car il tait difficile de maintenir ce systme dexploitation crit en assembleur. Ken voulait utiliser le langage B pour rcrire UNIX mais finalement il sest dcid dutiliser le langage C que Denis Ritchie (ci-contre) avait cr. Denis a aid Ken pour le dveloppement dUNIX. Bell Labs, dpendant dAT&T, ne pouvait pas commercialiser Unix car loprateur amricain (AT&T) avait linterdiction de vendre autre chose que des quipements tlphoniques ou tlgraphiques. Une dcision prise en 1975 fut de distribuer le code source dUnix des universits des fins ducatives, mais une licence, peu coteuse, devait tre achete.

lES vErSIonS DunIx


Au fil des annes, plusieurs versions dUNIX sont sorties. De la V1 jusqu la V7 sans compter les importants drivs comme Unix BSD et Unix System V qui sont la base de gros systmes bass sur UNIX tel que AIX, HP-UX, Solaris ( partir de la deuxime version seulement), etc...

SySTEm v 1983
La premire version de System V (V comme le chiffre romain, donc prononcer cinq) a t publie en dbut danne 1983 par AT&T. System V est, avec BSD, un des deux drivs majeurs dUNIX sur lesquels sont bass des systmes dexploitation comme AIX ou HP-UX par exemple. Il y a au total quatre release de System V dont la dernire (System V Release 4) est sortie en 1989.

l arrIvE DE bSD bErKElEy SofTwarE


La source dUNIX ayant t donne certains tablissements denseignement suprieur, les chercheurs de lUniversit de Californie apportrent beaucoup de modifications la version dUNIX fournie par AT&T. Ils distriburent leur modification sous le nom de Berkeley

page 11

Software Distribution, aussi appel BSD. Il existe aujourdhui plusieurs BSD OpenSource tel que FreeBSD, OpenBSD et NetBSD.

aIx 1986
En 1986, les chercheurs dIBM lancrent la premire version de leur systme dexploitation de type UNIX (bas sur System V Release 2) nomm Advanced Interactive eXecutive mais plus couramment appel AIX. Ce systme dexploitation supporte des plateformes telles que le ROMP, lIBM Power, le PowerPC, lIBM PS/2, le System/370 et lESA/390. On retrouve habituellement AIX sur des System P de IBM.

hp-ux hEwlETT-pacKarD
Publi par Hewlett-Packard en 1984, le systme dexploitation propritaire HP-UX, bas sur System V Release 4, est un concurrent direct dOracle Solaris (Sun Solaris auparavant). Les plateformes supportes par HP-UX sont le PA-RISC et le IA-64. Quasiment tous les HP 9000 sont compatibles avec HP-UX.

Certainement le systme dexploitation le plus connu de la famille UNIX, bien que le noyau Linux ne soit pas bas sur UNIX. Le projet GNU a t commenc en 1983 par Richard Stallman (ci-contre) ayant comme but de faire un OS qui nest pas bas sur UNIX mais qui fonctionne de la mme manire que ce dernier et qui soit totalement libre. Par la suite, le projet ayant bien avanc, il leur manquait quune seule pice pour finir leur travail, le noyau. Cest l, en 1991, que le noyau Linux, dvelopp par Linus Torvalds (cicontre), entre en jeu pour complter le puzzle. Aujourdhui, il existe de nombreuses distributions GNU/ Linux comme Debian, Ubuntu, SuSe, Fedora pour en citer quelquesunes. La plupart sont tlchargeables gratuitement.

Le monde dUNIX

arTIclE

SolarIS SunoS
La premire version de Solaris, nomme SunOS au dbut, fut publie en 1981 et tait bas sur 4.1BSD. Par la suite, en 1991, le systme dexploitation complet a t renomm en Solaris et le nom SunOS tait alors donn au noyau de Solaris. Plus tard, en 1992, la deuxime version de Solaris voit le jour mais celle-ci est base sur System V Release 4 dUNIX. En janvier 2010, aprs le rachat de Sun Microsystems par Oracle, Sun Solaris devient Oracle Solaris. Solaris supporte des plateformes que lon trouve assez couramment et peut donc sans problme tre install sur une machine toute simple. Voici les plateformes actuellement supportes : SPARC, IA-32, x86-64. Il existe galement un Solaris Open Source nomm OpenSolaris.

mac oS x unIx bSD


Le systme dexploitation dApple, Mac OS X, cr par la socit NeXT (fonde par Steve Jobs aprs son dpart dApple) est bas sur le noyau Mach et sur limplmentation dUnix BSD. Contrairement ce que beaucoup de gens pensent encore aujourdhui, Apple na pas invent linterface graphique ni la souris. Ce nest pas Microsoft non plus car ils ont copi sur Apple mais donc, sur qui a copi Apple ? Cest sur la socit Xerox qui lpoque avait un centre de recherche Palo Alto appel le Xeror PARC o linterface graphique et la souris ont t tests sur des machines comme lAlto ou la Star. Mac OS X est le systme dexploitation bas sur UNIX le plus utilis par le grand public aujourdhui. R@f.

gnu/lInux lE lIbrE

Evolution dUNIX au cours du temps

page 12

Sujet Developpement web

arTIclE

par webdev33

DEvEloppEmEnT wEb
facilitez la cration web, amliorez laccessibilit et le rfrencement
Cet article se veut tre une approche par diffrents domaines afin de comprendre certaines ralits, faciliter la cration dun site web, amliorer son accessibilit et son rfrencement. conSIDraTIonS ImporTanTES pSychologIQuES
Tout dabord, lorsque lon dveloppe il faut essayer davoir un esprit critique et objectif pour arriver au meilleur rsultat possible. Quand on dbute on a tendance sur-valuer la qualit de ce que lon a ralis et on ne sen rend pas compte. Cela peut-tre gnant, dune part pour limage d amateur perue par les gens extrieurs et dautre part parce que cest un frein lvolution et au changement (si on est fier de ce que lon a dj, pourquoi modifier ?). Ceux qui ne sont pas dbutants et ont conserv leurs tous premiers travaux, regardez avec votre exprience actuelle ceux-ci, vous comprendrez ce que je veux dire par l. Ensuite, une constatation : vous aviez pass du temps faire quelque chose et cela vous a paru difficile, maintenant avec leffet dexprience vous le referiez beaucoup plus vite et pourriez mme amliorer pas mal de choses. Cet effet dexprience nest pas ngligeable et ne sadresse pas quaux dbutants complets. Enfin, cest force de programmer que lon progresse et que lon devient bon voire excellent programmeur. Plus on rencontre des difficults, plus on apprend et plus on capitalise dexprience. On acquiert par la suite de bonnes pratiques que lon mettra en place rapidement et facilement selon le besoin. Quelques chiffres trouvs sur developpez.com (http://www.developpez.com/actu/20183/Les-6verites-de-la-programmation-se-verifient-ellesautour-de-vous) : un bon dveloppeur est 10 fois plus productif quun dveloppeur lambda. Un excellent dveloppeur est 20 100 fois plus productif quun bon dveloppeur. Servez-vous des conseils afin datteindre le plus haut niveau possible !

Eclipse PDT permet lautocompltion de fonctions PHP et permet de connatre lordre des paramtres
un moT Sur lE DESIgn
Votre site web est moche, vous tes webmestre et non designer, utilisez des kits graphiques, ils donneront un look plus professionnel votre site internet. Attention cependant bien lire la licence et rester dans la lgalit. Il ne sagit pas de voler le fruit du travail dautrui sans contrepartie. Certains sont payants, dautres sont fournis gratuitement condition dutiliser un lien de retour vers leur site. Cependant mme si un lien retour nest pas demand pour un kit gratuit, il est quand mme plus juste den utiliser tout de mme un afin de remercier et encourager ce graphiste.

page 13

Developpement web

uTIlISEr lES bon ouTIlS DE DvEloppEmEnT


On gagne du temps utiliser les bon outils. Le bon vieux Notepad ++ peut tre dtrn Eclipse PDT permet lauto-compltion de fonctions PHP et permet de connatre lordre des paramtres, ce qui est apprciable. Ce logiciel nous permet aussi entre autres de voir les erreurs de XHTML et de dbugger. FireFox possde une multitude dextensions, dont web developer que je vous recommande, qui permet entre autres de dsactiver les CSS, les cookies, redimensionner les fentres du navigateur une certaine rsolution, de voir la validit HTML, Javascript et CSS en 1 coup dil, si cest vert, cest OK, sinon il y a des erreurs.

faut pas en utiliser une gnrique pour tout le site, cest trs mauvais. Ne pas en utiliser du tout, cest encore plus catastrophique. Il faut viter tout prix les liens qui ne permettent pas seuls de dterminer le contenu. Je donne un exemple incorrect viter : pour voir mon site professionnel cliquez ici. Il faut utiliser dans le texte du lien de quoi dcrire le contenu auquel linternaute va accder en suivant le lien hypertexte, par exemple voir le site professionnel dArnaud Montignac. Avoir un site web, ce nest pas seulement le raliser et le mettre en ligne. Pour que celui-ci soit visible dans les rsultats des moteurs de recherches, il faut soigner sa popularit. Pour cela il faut faire la promotion de son site web et avoir un maximum de liens retour. Un lien retour est considr comme un vote pour votre site. Plus il y a de votes plus il est populaire. Il est conseill davoir un sitemap (fichier qui dcrit les liens de votre site) la racine de votre site et de remplir correctement les donnes (url, frquence de mise jour, date de dernire modification, priorit). Cela sert dune part faire indexer toutes les pages que lon veut faire rfrencer par les moteurs de recherche, mais aussi montrer que le site est vivant et que son contenu change. Il faut aussi bien videmment mettre jour rgulirement le contenu de votre site web.

arTIclE

Enfin pour le serveur web jutilise Easyphp 5.3.3 qui permet entre autres dtre transport sur clef USB et donc de dvelopper en local sur plusieurs postes de travail diffrents.

bIEn cErnEr lE bESoIn auQuEl rponD lE SITE


Il faut savoir proposer un produit adapt aux besoins, cest dire quil faut parfois savoir rester simple, mais toujours adapt, pas besoin du tank pour tuer la mouche, la tapette est parfaitement apte cette tche l. Quelques bonnes pratiques adopter pour le rfrencement : Le rfrencement doit tre pris en compte au moment du dveloppement. Par exemple, un lment ultra important : utiliser une balise title pour chaque page diffrente. La balise title est prise en compte pour le rfrencement et a un poids important. Elle doit tre adapte au contenu de chaque page. Il ne

webdev33.

Pour les curieux :


Site de lauteur http://www.arnaud-montignac.fr/

page 14

arTIclE

Sujet Prsentation du caml Light par neo1015

caml lIghT
Implmentation lgre du caml, le caml-light est un langage aussi facile apprendre qu utiliser
Conu par lINRIA (Institut National de Recherche en Informatique et Automatique) dans les annes 1980, le CaML a t conu pour garantir la sret et la fiabilit des programmes (INRIA). Il se dcline en plusieurs versions dont le Caml-Light, version plus lgre du Caml, enseign notamment dans les Classes Prparatoires scientifiques. Bien quallge, cette version du Caml demeure tout fait complte, et permet comme nous allons le voir la ralisation de choses plutt intressantes. Ct technique, le CaML se caractrise par un typage fort (mais vraiment fort), une gestion automatique de la mmoire, une syntaxe simple et pure, et un fort accent mis sur le ct rcursif du langage. Il permet la gestion de tableaux, de matrices, de listes, de chanes de caractres, ainsi que de laffichage graphique et des vnements souris/clavier (qui sont cependant peu utiliss, le langage ne se destinant pas principalement la ralisation de jeux). La programmation en CaML se veut fonctionnelle (le contraire dimprative), on retrouve ainsi une syntaxe proche de celle quon utiliserait en mathmatiques. Explication - En exagrant un peu on pourrait dire que cela se lit tout seul. En reprenant la dernire phrase on dcortique le programme de cette manire : let rec : on dfinit par rcurrence factorielle = function : la factorielle dun entier n par 0->1 : 1 si n vaut 0 |n->n*(factorielle (n-1)) : n*(n-1)! si n>0 Ce simple exemple nest bien entendu pas trs significatif de la puissance de ce langage, mais il faut savoir par exemple que le problme des tours de Hano, entre autres, peuvent se rsoudre trs simplement. Qui na jamais rv de programmer la fonction polynme interpolateur de Lagrange de manire rcursive en 3x3 lignes ? On a galement la possibilit de dfinir des types rcursifs, comme les arbres, et bnficier ainsi de toute la puissance de ces structures de donnes (tri, recherche...) Le Caml permet galement la cration de types rcursifs, et donc la gestion des arbres. Cidessous, le rsultat dun programme permettant dafficher, un arbre binaire.

un ExEmplE baSIQuE la facTorIEllE DE n


Mathmatiquement on dfinit par rcurrence la factorielle dun entier n (note n!) par : si n = 0, n! = 1; si n>0, n! = n x (n-1)! Et bien en CaML, cest la mme chose : let rec factorielle = function 0 -> 1 |n -> n*(factorielle (n-1));;

page 15

Quand on pense Caml, on devrait penser fonctionnel


La programmation imprative, plus classique, est videmment au rendez-vous. On retrouve donc les structures de contrle habituelles : les tests (if, then, else), les boucles (for, while).

Le chargement et laffichage ne sont cependant pas prvus, il faudra donc trouver une solution la main. Autre exemple, cette courbe de Lissajous est le rsultat dun petit programme permettant laffichage de courbes paramtres (les coordonnes (x, y) de chaque point dpendant chacune dune fonction).

arTIclE

Let exemple n = for i=0 to n do if I mod 2 = 0 then print_string i est pair else print_string i est impair; done;; Cependant on pourra remarquer que la syntaxe dun programme Caml crit de manire imprative a une certaine tendance salourdir. Cest parce quencore une fois, quand on pense Caml, on devrait penser fonctionnel.

Caml

gESTIon DES fEnTrES graphIQuES


Caml permet galement la gestion dune fentre graphique : trac de lignes, cercles, de polygones, de points, comme illustr par le programme suivant. #open graphics;; open_graph 400x400; (*Ouvre une fentre graphique*) set_color yellow; fill_circle 200 200 150; cercle jaune*) set_color black; fill_circle 140 250 25; fill_circle 260 250 25; set_color red; fill_rect 125 100 150 30;; (*Trace le Nous arrivons au bout du chemin. Vous vous doutez quun seul article nest pas suffisant pour passer en revue toutes les finesses dun langage. Pour ceux dentre vous qui auraient envie den dcouvrir un peu plus, il existe une documentation complte (en anglais) tlchargeable sur le site de lINRIA, ainsi que des forums traitant du sujet. De nombreux exemples sont galement fournis dont les dessins des fractales de Mandelbrot et de Von Koch.

Rsultat Pour les curieux :


Site InrIa http://caml.inria.fr/index.fr.html Documentation complte http://caml.inria.fr/pub/docs/manual-caml-light/

page 16

logiciel Blender

TuTorIEl

Difficult

par bobo75014

guITarE 3D
modlisez en 3D la base dune guitare avec blender

la caISSE
Commencez par ajouter un Plane et en Edit mode dplacez-le avec G+Ctrl de faon ce que le centre de lobjet se trouve sur le coin infrieur gauche.

Activez un moficateur Mirror dans lequel vous cocherez clipping afin que les vertices situs sur laxe de symtrie restent souds. Puis ajoutez galement un modificateur Subdivision Surface (subsurf). Cest une bonne habitude prendre que de modliser avec le subsurf afin de ne pas avoir de mauvaise surprise si vous lactivez la fin de votre modlisation.

page 17

Faites des extrusions successives de larte suprieure (touche E) et scalez chaque fois (touche S) pour donner lallure gnrale du corps de la guitare. Ceci sera le fond de la guitare. Cest l que vous pouvez donner une forme particulire votre guitare si vous le souhaitez.

TuTorIEl

Guitare 3D

Pour faire la face de la guitare, il faut dupliquer (Shift+D) le fond et dplacer la bonne distance pour crer lpaisseur (dcocher clipping dans le modificateur Mirror pour rendre le dplacement possible)

page 18

Il va falloir modliser un trou. Pour cela, assurez-vous dabord que le curseur 3D se trouve au niveau du maillage (slectionnez un vertice et faire Shift+S > cursor to selection). Ajoutez un cercle de 8 vertices (ce nombre peut varier en fonction de votre maillage, limportant est de pouvoir retomber sur ses pieds), supprimez les faces superflues et crez de nouvelles faces pour joindre le trou au rebord du corps de la guitare (slectionnez les vertices par quatre et pressez la touche F pour crer une face).

TuTorIEl

Guitare 3D

Joignez le fond et la face de la guitare en crant des faces. Des loopcuts seront ncessaires pour durcir les rebords.

lE manchE
Commencez par crer la forme suivante partir dun plane. Puis appliquez un mirror et un subsurf comme prcdemment.

page 19

Puis commencez extruder. Pour le virage du coude, cest un peu dlicat car il faut un bel arrondi lintrieur et un angle droit lextrieur. Voici la mthode que je vous suggre. Il sagit dabord de crer les vertices au dbut et la fin du virage. Placez ensuite deux loopcuts dans la portion du virage. Puis, en vue de cot, dplacez les vertices pour crer un bel arrondi. A loppos, il faut les rapprocher pour faire un angle net.

TuTorIEl

Guitare 3D

Continuez les extrusions pour faire le manche.

page 20

Pour la tte, vous pouvez continuer faire les extrusions en scalant chacune dentre elles sur laxe x (touche S > puis touche X) afin de faire varier la largeur votre guise.

TuTorIEl

Guitare 3D

Pour durcir le rebord infrieur de la tte, slectionnez, les artes suivantes et faites les glisser (Ctrl+E > Edge slide) vers le rebord.

page 21

la TouchE
Slectionnez les faces du manche sur lesquelles se trouve la touche et les dupliquer avec Shift+D puis les sparer avec la fonction Separate (touche P > Selected). Un nouvel objet est ainsi cr. Passez en Object mode, slectionnezle et rebasculez en Edit mode.

TuTorIEl

Guitare 3D

Faire une premire extrusion pour donner de lpaisseur (noubliez pas les loopcuts pour durcir les bords) puis une seconde pour faire descendre la touche jusquau trou de la guitare.

Pour bien accompagner larrondi du trou, faire un loopcut sur la longueur du manche et ajuster le positionnement des vertices sur le bord du trou.

Et voil ! La forme gnrale est faite. Je vous laisse le soin de faire jouer votre crativit pour modliser les mcaniques, les cordes, ou encore le chevalet. Si vous avez des envies/ suggestions de tutoriels concernant Blender pour les prochains numros nhsitez pas menvoyer un message priv sur le site du zro ! bobo75014

page 22

TuTorIEl

langage & logiciel Actionscript 3 & Adobe Flash CS4 Difficult

par spoke44

InITIaTIon l acTIonScrIpT 3
Dplacez des clips et dcouvrez les conditions en AS3.
Voici le second tutoriel de la srie Initiation lactionscript 3. Nous allons voir comment dplacer un clip dans le stage avec les flches du clavier et lempcher de sortir de lcran grce des petites conditions basiques.

mISE En placE DE la ScnE


La premire tape consiste crer notre rectangle de couleur qui va nous servir dimage. Puis il faut lattacher un clip qui sera lui mme attach sur le stage afin quil saffiche lcran. Si vous avez bien rvis le tutoriel du mois dernier, cela ne devrait tre quun simple rappel. Noubliez pas de sauvegarder souvent votre travail, a serait dommage de devoir tout recommencer ! Nous allons maintenant crer un couteur pour dtecter lorsque lutilisateur appuie sur les touches du clavier. Nous avons utilis la dernire fois lcouteur MouseEvent, ici nous utiliserons KeyboardEvent. Les couteurs fonctionnent tous pareil, cest dire : addEventListener(typeEcouteur. TypeEvenement, fonction lancer lorsquil est dclench); En loccurence nous allons utiliser : KeyboardEvent.KEY_DOWN Ajoutez donc cet couteur au stage et prparez la fonction qui sera excute. Attention cette dernire, elle reoit un paramtre de type KeyboardEvent dont on va avoir besoin et qui est donc mis dans la variable key.
page 23 1. 2. 3. 4. 5. 6. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.

var img:Shape = new Shape(); img.graphics.beginFill(0xFF0000); img.graphics.drawRect(0, 0, 40, 40); var clip:MovieClip = new MovieClip(); clip.addChild(img); stage.addChild(clip); clip.x = 100; clip.y = 100;

stage.addEventListener(KeyboardEvent.KEY_ DOWN, Bouger); function Bouger (key:KeyboardEvent){ }

Initiation lActionscript 3

TuTorIEl

Intressons nous au paramtre KeyboardEvent reu dans notre fonction. Il sagit en fait dun nombre. De ce nombre on peut rcuprer un code appel keycode, qui est associ la touche appuye. Il existe des tableaux sur internet ou lensemble des keycodes sont rpertoris. Mais au lieu de chercher sur le net les codes correspondant nos 4 touches de dplacement, nous allons plutt utiliser notre fonction pour afficher le keycode de la touche appuye que notre fonction reoit ! Cela est relativement simple, il simplement dutiliser la fonction : trace(mavariable); Implmentez donc a dans la fonction Bouger. Compilez et testez le programme. Normalement lorsque vous appuyez sur une touche un numro apparait dans la console de dbug. Rcuprez les 4 numros correspondant aux 4 touches de dplacement et notez les. suffit
1. 2. 3. 4.

function Bouger (key:KeyboardEvent){ trace(key.keyCode); }

lES conDITIonS
Les conditions en flash sont identiques beaucoup de langages dun point de vue syntaxique. Nous nous intresserons uniquement la condition if () et ses drives pour notre programme. Celle-ci semploie donc comme cela : if ( ma condition ) { //si ma condition est vraie } else if (une autre condition) { //sinon si une autre condition est vraie } else { //sinon on fait a } Plutt simple nest-ce pas ? Une dernire chose pour avoir toutes les clefs en mains : il faut que vous reteniez la syntaxe pour tester les conditions. if if if if if ( a == b) //si a est gal b ( a != b) //si a est diffrent de b ( a > b) //si a est suprieur b ( a < b) //si a est infrieur b (a <= b) //si a est infrieur ou gal
//si a est suprieur ou gal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.

function Bouger (key:KeyboardEvent){ if(key.keyCode == 37){ //gauche } else if(key.keyCode == 39){ //droite } else if(key.keyCode == 38){ //haut } else if(key.keyCode == 40){ //bas } }

if (a>= b)
b

A vous de jouer maintenant avec les codes rcuprs plus haut !

page 24

Initiation lActionscript 3

Et voil vous pouvez compiler, normalement lorsque vous appuyez sur une des touches il se passe... rien du tout ! En effet, il va falloir dire notre clip de bouger lors de lappui sur les touches de dplacement.

TuTorIEl

DplacEr un clIp
Dplacer un objet est extrmement simple en actionscript 3. On accde la proprit x et y de notre clip comme ceci : monClip.x monClip.y Il suffit alors de changer cette position chaque fois que lutilisateur appuie sur la touche. Je rappelle que : monClip.x += 2; est une autre criture de monClip.x = monClip.x + 2; Maintenant si vous compilez et que vous testez les touches, votre clip se dplaera. Flicitations ! Il reste cependant un dernier point voir ; il faut viter que notre clip sorte de lcran.
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.

function Bouger (key:KeyboardEvent){ if(key.keyCode == 37){ //gauche clip.x -= 2 ; } else if(key.keyCode == 39){ //droite clip.x += 2; } else if(key.keyCode == 38){ //haut clip.y -= 2; } else if(key.keyCode == 40){ //bas clip.y += 2; } }

EnfErmEr noTrE clIp


Pour viter que notre clip sorte de lcran il va falloir modifier nos conditions actuelles. Il faut ajouter aux conditions de dplacement que : Si le clip est toujours dans lcran Se dplacer Sinon ne rien faire Pour ajouter des conditions dans un if () ou un else if (), on peut utiliser ces syntaxes l : if( a == b && a ==c) //si a=b ET a=c if( a==b || a ==c) //si a=b OU a =c
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.

Rcuprez la taille de votre animation flash dans les paramtres de votre animation et insrez les conditions de position. if(key.keyCode ==37 && clip.x > 0) Ce code signifie simplement que Si la touche appuye est la touche gauche ET que la position sur les x de clip est suprieure 0 (et donc toujours sur lcran) faire : ...

function Bouger (key:KeyboardEvent){ if(key.keyCode == 37 && clip.x > 0){ clip.x -= 2 ; } else if(key.keyCode == 39 && clip.x < 400){ clip.x += 2; } else if(key.keyCode == 38 && clip.y > 0){ clip.y -= 2; } else if(key.keyCode == 40 && clip.y < 300){ clip.y += 2; } }

page 25

Initiation lActionscript 3

lE moT DE la fIn
Le code complet de cette petite animation se trouve ci-dessous. Notre code demande tre amlior car si vous faites attention, lorsque vous restez appuy sur une touche il y a un petit temps de latence au dbut avant que le clip bouge. Cette latence peut tre corrige en ajoutant 2 autres couteurs et en utilisant des boolens (voir partie Pour les curieux ci-dessous. Je vous invite vivement essayer de faire lexercice). Nhsitez pas poser vos questions sur lactionscript 3 sur le forum dans la partie Autres

langages.... Il y a des zros trs comptents qui seront ravis de vous filer un coup de main ou des astuces pour amliorer votre code. A bientt !

TuTorIEl

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.

//CODE COMPLET var img:Shape = new Shape(); img.graphics.beginFill(0xFF0000); img.graphics.drawRect(0, 0, 40, 40); var clip:MovieClip = new MovieClip(); clip.addChild(img); stage.addChild(clip); clip.x = 100; clip.y = 100; stage.addEventListener(KeyboardEvent.KEY_DOWN, Bouger); function Bouger (key:KeyboardEvent){ if(key.keyCode == 37 && clip.x > 0){ clip.x -= 2 ; } else if(key.keyCode == 39 && clip.x < 400){ clip.x += 2; } else if(key.keyCode == 38 && clip.y > 0){ clip.y -= 2; } else if(key.keyCode == 40 && clip.y < 300){ clip.y += 2; } }

Pour les curieux :


Exercice - Dbutant++ En reprenant le tutoriel de ce magazine vous ajouterez deux couteurs et modifierez lcouteur actuel pour viter le petit temps de latence dans le dplacement. Aide Les deux nouveaux couteurs du type KeyboardEvent vrifierons si une touche est appuye (KEY_DOWN) et si une touche est relche (KEY_UP). Lors de lappel des fonctions de ces couteurs, il vous faudra mettre true ou false une variable de type boolen (var maVar:Boolean = false;) en fonction de lappuie ou du relchement dune touche du clavier. Le 3me couteur qui sera un couteur de type Event. ENTER_FRAME vrifiera si le boolen est true (touche enfonce) ou false (touche relche). Si la touche est enfonce : dplacez le clip.

page 26

langage & logiciel C++ & Code :: Blocks

TuTorIEl

Difficult

par Aznam

DvEloppEZ un jEu vIDo


le morpion en c++

Bonjour. Que puis-je faire pour vous ? Crer un jeu vido ? Mais pourquoi vous ne le faites pas vous mme ? Hein ? Si, si, bien sr que cest possible...
Et oui, concevoir un jeu vido ce nest pas rserv aux professionnels, mme si le march a tendance ne recruter que des personnes diplmes. Enfin, diplmes... Disons les choses rellement : diplmes mais sans comptence pour la majorit... Alors oui, les autodidactes de gnie ont encore leur place dans ce monde. Mais pour devenir autodidacte de gnie, il faut se lancer, tenter et apprendre. Peut-tre que vous deviendrez alors le John Carmack des temps modernes Tout cela pour dire que faire des jeux vidos, ce nest pas compliqu. Nanmoins, cela demande certaines comptences et connaissances (plus ou moins complexes selon le jeu en question). Ne vous leurrez pas : le but de ces articles nest pas de faire de vous des gnies du jeu vido (dans ce cas l, allez faire une cole dingnieur, cela vaut mieux), mais dintroduire certains aspects importants du dveloppement de ce type de produit dont tout le monde raffole.

Ces articles partent dun principe fondamental : vous savez dj programmer en C/Java/Pascal Objet... Donc il nest aucunement question de faire un cours de programmation ici. A lissue de la premire fourne darticles, vous serez capable de concevoir de A Z un petit jeu daventure en 2 dimensions. Enfin quand je dis de A Z, cest plutt de A D, puisque vous vous rendrez compte que faire un jeu vido demande des comptences qui vont au-del du simple je connais tout, cest moi le plus fort, cest moi le plus grand... Bref commenons sans plus tarder, dmystifions les jeux vido !

page 27

Initiation lActionscript 3

papa, papa ! jE vEux faIrE un morpIon


Bien videmment, vous me direz un morpion cest facile, cest nul, cest dbile. Et je vous rpondrai oui, cest dbile. Mais mon exprience ma montr que pas mal de personnes narrivent pas programmer le morpion au tout dbut de leur apprentissage, et cela vaut mme pour les tudiants en Master ou en Ecole dingnieur. Alors quoi de mieux quun concept simple pour introduire les phases principales qui composent le dveloppement de jeu vido ? Ce premier article a uniquement pour vocation deffectuer des rappels de base concernant la programmation en C++ que nous utiliserons abondament par la suite. Je ne mattarderais pas ici aux grandes phases qui composent un cycle de dveloppement (nous verrons cela plus tard), ni la modlisation. Lobjectif de ce cours est simple : lissue, vous serez capables dcrire un morpion marrant en mode console sous Windows. Bon rien de bien mchant ok, mais au moins, je massure que tout le monde sera prt pour le prochain article dun niveau bien plus lev. Alors que vous faut-il ? Un PC, cela va de soit...(pas MAC, non !) Un compilateur C++ qui respecte les normes (ou pas...) Un dbuggeur Un diteur de texte Bon, en fait non, un EDI qui contient tout, cest beaucoup mieux (Visual Studio Express, Code::blocks...) Des connaissances en programmation Une machine caf Du caf Du sucre De quoi vous sustenter (ouais, faut vous habituer au mtier...) Bon vous avez le tout ? Commenons !

tutoriaux en parlent dj. Note : Je ne parlerai ici que de concepts ncessaires la ralisation de jeux vido modernes. Pour tout ce qui est syntaxe C++, je vous conseille de lire les trs bons cours et tutoriaux du SDZ ou de developpez.com

TuTorIEl

Ouvrez donc votre diteur prfr, et crez un nouveau projet C++ console
bon que doit-on faire ? Lobjectif comme je lai dj dit est de raliser un Morpion en C++, donc en programmation oriente objet. Si vous nen navez jamais fait, vous venez sans doute du monde procdural (sauf si vous venez du monde logique, et dans ce cas, vous pouvez sauter toute cette partie) o tout est fonction. En procdural, lobjectif est denchaner des valuations de fonctions qui fournissent un rsultat et qui influe sur une autre fonction. En dautres termes, toute votre application C est une suite de fonctions mathmatiques qui sont appeles et qui influent sur le rsultat de la fonction main (qui renvoi 0, 1 ou autre chose). Au final, vous avez ce schma l : main(x) = f1(x, y) = f2 =(x,y,z) = .... En POO, nous allons nous souvenir de ce concept mais changer de vision. On ne sintresse plus aux fonctions en tant quobjets mathmatiques fournissant un rsultat que lon passe une autre fonction, mais aux objets et aux relations quils ont entre eux. Ainsi, je ne parle plus de la fonction acclrer() agissant sur une donne voiture, mais de lobjet voiture qui peut acclrer(). Pour tre plus prcis, en procdural, votre fonction acclrer() produisait un rsultat en tenant compte de la voiture, des 4 roues et du moteur que vous lui passiez en paramtres. En dautres termes, ctait un objet mathmatique qui fournissait une valeur en fonction des variables que vous lui donniez. En POO, la vision est de dire que la mthode acclrer() est une action
page 28

prlImInaIrES ouI, cEla faIT Du bIEn


Enfin a dpend, parce que ce nest pas trop une partie de plaisir en ralit. Ici jutiliserais Code::Blocks pour sa simplicit dinstallation, mme si ma prfrence va pour Visual. Pour le rcuprer : http://www.codeblocks.org/downloads Ouvrez donc votre diteur prfr, et crez un nouveau projet C++ console. Configurez et vous voila prt. Bon je passe vite fait sur la config, puisque cest une suite de Suivant, Suivant, Suivant et que beaucoup de

dun objet voiture, une voiture compose de 4 roues, et un moteur, ou de 2 roues et 2 moteurs. Quelque soit votre voiture, elle acclre.

claSSE ET objET En c++


Bon commenons notre morpion pour illustrer le concept orient objet. Comme je vous lai dit, le concept orient objet sintresse aux objets et leur relation et non pas aux donnes et aux fonctions. Essayons alors de rflchir aux objets composants notre morpion.

TuTorIEl

Le morpion

claSSE ET objET lE paTron


La POO est donc un outil puissant pour reprsenter de manire plus simplifie le monde rel. Puisquon ne sintresse plus quaux donnes et des fonctions dvaluation sur ces donnes, mais directement aux objets en tant que tels, il faut pouvoir les dfinir. Cest ici quentre la diffrence entre classe et objet. Une classe est une dfinition formelle, abstraite, commune dun objet. En dautres termes, une classe est le patron, le modle sur lequel va se baser votre machine pour crer votre objet. Un objet est donc la ralisation dune classe, une instance particulire de votre classe. Par exemple, vous dfinissez votre Voiture comme tant un ensemble de caractristiques (nommes attributs) dont : la couleur, la taille, la marque. Ceci est la dfinition de votre classe. Maintenant, si jattribue des valeurs particulires ces attributs, je viens de crer un objet, une instance particulire conforme cette classe. Ainsi, si je dis que v1 est une voiture ayant la couleur rouge, 5 places et de marque Renault, jai une voiture particulire (la mienne). Cest un objet, ou mieux, une instance de la classe Voiture. Pour aller plus loin, jenrichis ma classe (ma dfinition du type dobjet si vous prfrez) de mthodes, cest dire dopration dfinissant un comportement. Par exemple, je dis quune voiture peut acclrer (en dfinissant la mthode acclrer() dans la classe). De cette faon, je dis que tout objet voiture quel quil soit (donc nimporte quel instance, nimporte quel voiture particulire) est capable dacclrer, le contenu de la mthode indiquant comment la voiture acclre. Ainsi, lorsque je vais invoquer la mthode acclrer sur linstance particulire v1, v1 (ma petite Renault rouge) va acclrer. En rsum, une classe est une dfinition abstraite, commune de tous les objets dun mme type. Et en personnalisant les attributs (en leur donnant des valeurs), on cre un objet en particulier.

posons-nous les bonnes questions, quest ce quun morpion ? Il sagit dun jeu dans lequel les joueurs posent des symboles dans une grille. Celui qui aligne 3 de ses symboles gagne la partie. A partir de cette rponse, certains objets apparaissent. Tout dabord, on sait que le morpion est un jeu compos dune grille et de 2 joueurs. Ici, apparaissent lobjet JEU(ou PARTIE) et JOUEUR. En effet, si on se rfre mon exemple ci-dessus, on peut caractriser une partie de faon abstraite (puisque toute partie au final possde les mmes caractristiques) et idem pour joueur. Il reste alors savoir si GRILLE est un objet. Posons nous alors une seconde question : estce quil existe plusieurs grilles pouvant avoir des caractristiques communes que lon peut personnaliser (comme dans le cas de la voiture, o toutes les voitures sont caractrises par une couleur concept gnral que lon peut personnalise attribut local - ?) Dans le morpion classique, la rponse est non, une grille tant juste un tableau dune certaine taille (ici 3x3). Ainsi, on va considrer quil ny a pas dobjet grille en tant que telle, mais quune grille caractrise une partie (une partie tant la donne dune grille et de plusieurs joueurs daprs la rponse la question ci-dessus). On vient donc de dgager 2 classes (2 types dobjet si vous prfrez) ainsi que leur relation. Une partie est 1. class Partie lie 2 joueurs 2. { qui eux sont 3. caractriss par public: 4. des symboles Partie(); 5. (celui quils ~Partie(); 6. apposent dans la 7. grille). private: 8. Joueur* _joueur1; 9. Joueur* _joueur2; Nous pouvons 10. int _grille[3][3]; alors crire la 11. } classe PARTIE en C++ (ci-contre).

page 29

Que vient-on de dfinir ? Une classe (oui en effet il y a crit class...). Une classe est constitue dun constructeur (portant le nom de la classe) permettant comme son nom lindique de construire une instance particulire de ce type. Par analogie, comme je le disais, la classe est le patron (le modle), lobjet est la ralisation particulire de cette classe, et le constructeur est la mthode permettant de crer la ralisation partir du modle. Bien videmment, si lon construit, on veut aussi dtruire. Le destructeur porte en C++ le mme nom que la classe en tant prcd de ~ On vient galement de dire quune partie est compose de joueur grce aux pointeurs, et dune grille 3x3 (le tableau). Je le rpte, on vient simplement de dfinir un modle de Partie et non pas une partie en particulier. Pour cela, nous allons faire :
1. 2. 3. 4. 5. 6. 7.

Bon, nous venons de dfinir les 2 types dobjet que nous avons identifis. Allons plus loin en compltant nos classes. Une partie se droule en plusieurs phases : 1. On initialise le plateau de jeu 2. Le joueur 1 pose sa marque 3. On regarde sil y a un alignement de marque 4. Le joueur 2 pose sa marque 5. On regarde sil y a un alignement de marque 6. On ritre 2 4 jusqu quil y ait un alignement ou que la grille soit complte. Ainsi, nous venons de dfinir le comportement dune partie. Nous allons donc les implmenter dans notre classe. Je le rpte encore, il sagit ici de dfinir un comportement global dune partie, quune partie particulire appliquera avec ses attributs particuliers. On obtient alors :
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.

TuTorIEl

Le morpion

int main(int argc, char** argv) { Partie maPartie; }

class Partie { public: Partie(); ~Partie(); void run(); private: void init_partie(); void check_partie(); void fin_partie(); Joueur* _ joueur1; Joueur* _joueur2; char _grille[3][3];

Ainsi dans la fonction main, nous venons de crer un objet particulier de la classe Partie que nous avons appel maPartie. Ainsi, vous pouvez crer autant de parties que vous le souhaitez, en crant autant de variables de type Partie que vous le souhaitez. Chaque instance tant unique, chacune sera personnalise par les attributs dfinissant une Partie. De la mme faon, nous pouvons dfinir la classe joueur : I 1. i class Joueur c u2.n { 3. public: 4. Joueur(); 5. ~Joueur();
6. 7. 8. 9. 10. 11.

};

run est une mthode permettant de lancer une partie. init_partie initialise la partie, check_grille vrifie la grille et fin_partie met fin la partie. On rajoute un attribut _etatPartie qui prendra la valeur vrai ou faux et qui indiquera si lon a termin la partie ou non.

private: char _symbol; };

joueur est dfini uniquement par un attribut _ symbol qui donnera le symbole apposer dans la grille.
page 30

Voyons le contenu de chaque opration :


1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

Continuons en compltant la classe Joueur :

void Partie::run(){ init_partie(); while(_etatPartie){ _joueur1->joue(); check_grille(); _joueur2->joue(); check_grille(); } }

run est lalgorithme que nous avons dcrit plus haut : il sagit du droulement dune partie. On initialise la grille, le joueur 1 joue, le joueur 2 joue et on ritre jusqu quil ne soit plus possible de jouer. Regardons init_partie et fin_partie :

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.

void Partie::init_partie(){ _joueur1 = new Joueur(x); _joueur2 = new Joueur(o); for(int i = 0; i < TLIGNE; i++) for(int j = 0; j < TCOLONNE; j++) _grille[i][j] = ; } etatPartie = true;

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.

TuTorIEl

Le morpion

class Joueur { public: Joueur(char symbol); ~Joueur(); void joue(); private: char _symbol; char* _grille; }; void Joueur::joue(){ int x = -1; int y = -1; while(x<0 || x>2|| y<0 || y>2){ std::cout << O voulez vous placer votre symbole ?; std::cin >> x >> o; } _grille[x*TLIGNE+y] = _symbol; }

void Partie::fin_partie(){ delete _joueur1; _joueur1 = NULL; delete _joueur2; _joueur2 = NULL; } _etatPartie = false;

Le comportement joue() dun joueur est dfini comme suit : on demande au joueur o il souhaite placer son symbole et on le place dans la grille. Bien videmment, il vous aura fallu dfinir dans le constructeur (ou via une autre mthode) ladresse de la grille. En dautres termes, donner chaque joueur ladresse de la grille dfinie dans Partie. Vous voyez bien que chaque rle est bien dfinie en POO : la partie est constitue dune grille et de joueurs, et ce sont les joueurs crivent dans la grille leur symbole. Terminons par le main :
1. 2. 3. 4. 5. 6.

Pour initialiser une partie, nous creons 2 joueurs, on vide la grille et on place ltat de la partie vrai. En terminant la partie, on supprime les joueurs et on place ltat de la partie faux. Rien de plus simple ! Voila, vous venez de dfinir quasiment le comportement dune partie. Il vous reste check_grille() programmer (mais cela fait lobjet de votre challenge, crire un algorithme rapide de contrle de la grille).

int main(int argc, char** argv) { Partie maPartie; maPartie.run(); }

Il suffit que votre instance particulire de Partie se lance (ie en invoquant run() ).

page 31

Voila, en compltant les 2 mthodes quil manque (pour donner ladresse de la grille aux joueurs, et check_grille() ) , vous venez de crer votre premier morpion 2 joueurs en mode console sur le mme cran. Bravo !!!

TuTorIEl

Le morpion

papa, jE vEux QuE l orDInaTEur jouE conTrE moI


Si vous avez bien tout suivi les concepts que jai tent de vous expliquer, coder une petite intelligence artificielle permettant de jouer contre vous est extrmement simple. Il vous suffit simplement de bien dfinir ce quest une IA. Quest ce que lIa ? Il sagit dun joueur qui va regarder la grille et apposer sa marque en fonction du contenu de la grille. Vous venez de nouveau de dfinir un nouveau type dobjet, une nouvelle classe en disant que ctait un joueur. Il existe plusieurs faons en POO de reprsenter cela. Il faut raliser une tude plus pousse du problme et avoir des connaissances plus tendues en POO (et notamment connatre les design pattern) pour choisir la bonne solution. Ici, on se servira du concept dhritage. Lhritage permet de dfinir des classes partageant les mmes caractristiques quune autre classe mais les spcialise. Par exemple, ici mon IA se comporte comme un joueur, puisque cest un joueur, mais possde en plus des caractristiques que ne possdent pas le joueur de base. Notamment, il regarde la grille avant de jouer. On va donc crer une classe IA qui hrite des caractristiques de Joueur tout en rajoutant des attributs qui lui sont propres.
1. 2. 3. 4. 5. 6. 7. 8. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

Le mot cl virtual dans la classe Joueur indique quune classe qui hriterait de Joueur peut redfinir la mthode joue. Cest ce que fait IA. En mettant les attributs de Joueur en accs protected (la porte ou laccs est indiqu par le petit mot public ou private ou protected), vous rendez les attributs de Joueur accessible IA. Ceci est important pour accder la grille ou personnaliser le symbole jou par votre IA. Ainsi, un objet de type IA est un objet de type Joueur ayant un autre comportement. Il vous suffira donc dcrire votre algorithme dans la mthode joue() de IA pour introduire un mode 2 joueurs contre lordinateur. Petite modification alors dans Partie :
1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

void Partie::init_partie(){ _joueur1 = new Joueur(x); _joueur2 = new IA(o); for(int i = 0; i < TLIGNE ; i++) for(int j = 0; j < TCOLONNE; j++) _grille[i][j] = ; _etatPartie = true; }

On ne cre plus 2 objets joueurs, mais un objet IA pour le joueur 2. Etant donn que IA hrite de Joueur, le type de _joueur2 ne change pas, cest toujours un Joueur, mais avec un comportement dIA. Jespre que cest assez clair...

class Joueur { public: Joueur(char symbol); ~Joueur(); virtual void joue();

Moyennant q u e l q u e s modifications syntaxiques pour introduire le concept, on obtient le code ci-contre.

class IA:public Joueur{ public: IA(); ~IA(); void joue(); private: void regarde();

page 32

TuTorIEl

Le morpion

lE moT DE la fIn
Voila vous venez dcrire votre premier jeu sur PC. Bon ok, ce nest pas norme mais cela fait dj un jeu votre actif (enfin en compltant les mthodes que je nai pas crites). Jespre que vous avez un petit peu capt ce que jessayais de vous faire comprendre, savoir lutilit de la POO dans la cration dun jeu vido. Mme si en moyenne une application POO est 10% 30% moins efficace quune application procdurale, la POO reste un concept trs puissant et trs utile dans la cration de jeu vido. Les bases sont poses, votre challenge consiste donc maintenant crire les algorithmes manquants pour faire un morpion efficace. Si vous avez bien compris ce que jai essay de vous montrer, ceci sera un jeu denfant pour vous. Bien videmment, si vous tes dous, vous

pouvez faire cela en mode graphique avec Qt ou SFML. Toute amlioration du concept est aussi la bienvenue pour rendre votre morpion attractif. Les meilleurs codes et productions trouveront leur place dans le prochain numro, dans lequel nous parlerons de choses tel que lorganisation du travail, et donc cela sera moins technique (nous alternerons technique, mthodes conceptuelles, organisation). Vous pouvez poser vos questions et envoyer vos productions az.yacoub@mastiware. com.

Jessairai de vous rpondre si mon emploi du temps me le permet ! La suite dans le prochain numro ! Aznam. Dveloppeur chez Mastiware.

Pour les curieux :


apprendre le c++ http://www.siteduzero.com/tutoriel-3-11406-apprenez-aprogrammer-en-c.html http://cpp.developpez.com/ a propos de mastiware Un petit mot propos de Mastiware. Cest un groupement de 4 tudiants en suprieurs (Aznam, Spoke44, Alex, Ulderic) qui dveloppent des jeux vidos sur diffrentes plateformes (PC, Iphone, Android, Samsung). Le premier jeu de mastiware se nomme joe the worm escape or die et est disponible sur Iphone/Ipod.

page 33

ExErcIcES

par m@tteo78

javaScrIpT
un calendrier qui peut tre insr nimporte o sur une page web.
ExErcIcE 1
Lobjectif est de coder un calendrier simpliste. Les consignes sont les suivantes : Affichage graphique dun tableau du mois actuel. Exemple ci-contre. Le jour actuel doit tre surlign. Le nombre de jours du mois doit tre correct (il faut donc prendre en compte le mois de fvrier et les annes bissextiles).

ExErcIcE 2
En reprennant le calendrier : La colonne des dimanches doit apparatre dune couleur distincte Les lments crs doivent ltre avec DOM (et non avec innerHTML ou autre) Le calendrier doit pouvoir se replier pour prendre moins de place (par exemple, ne laisser que la barre rouge).

ExErcIcE 3
Le calendrier doit tre extensible : on doit pouvoir lagrandir horizontalement et verticalement. Il doit grer la place qui lui est alloue (mme largeur pour toutes les colonnes, mme hauteur pour toutes les lignes).

ExErcIcE 4
Le calendrier doit comporter des flches pour changer de mois et danne affiche. La date entire en franais (Lundi 14 Novembre 1987) doit tre affiche dans la case rouge (qui doit donc tre agrandie).

ExErcIcE 5
Lorsque lon clique sur le mois actuel, laffichage doit se changer pour laisser lutilisateur choisir parmi tous les mois de lanne. Lorsque lon clique sur lanne actuelle, laffichage doit se changer pour laisser lutilisateur choisir parmi toutes les annes de la dcennie (10 ans). Lutilisateur doit pouvoir entrer une date pour sy rendre immdiatement au format raccourci (14/11/1987). Corrections le mois prochain, bon courage !
page 34

ESpacE mEmbrES

par Schadocalex & Cohars

l ESpacE DES mEmbrES Du SITE Du ZEro


lE flaSh bacK Du moIS
lES novEnDIalES
Le lien prsentant Les Novendiales (rgles, dure, prochaine dition etc) :
http://www.games-creators.org/wiki/Novendiales

Ce petit concours est normalement organis une fois par an (en juillet). Exceptionnellement, il a t dcid quune seconde session cette anne serait prvue. Cette seconde session vient tout juste de dmarrer (vendredi 19 novembre) et donc mme avec 2 jours de retard il serait dommage de ne pas participer ! Les thmes de cette dition sont : le ou Pirate et elle se termine dimanche 28 20h !
Le concept est simple, il faut crer un jeu vido sur une dure de 9 jours. Il faut donc ne pas voir trop grand, tre efficace et sorganiser. Tous les langages sont autoriss et vous tes libres dutiliser nimporte quel outil maintenant il reste faire quelque chose avec un concept intressant ce qui nest pas toujours vident sur une si petite priode.

COMMENT PARTICIPER ?
Premire chose, nayez pas peur de vous lancer, il y a tous les niveaux dans ce concours et cest une occasion pour mener bien un projet. Pour participer il vous suffit de vous inscrire sur le forum GCN (Game Creator Network) et poster un nouveau topic dans le forum Projets - Novendiales qui prsente votre jeu et le lien pour le tester ! Cest tout. Il est important dessayer les jeux des autres participants pour pouvoir voter pour les 3 meilleures crations. Ensuite le vote se passera comme cela : Chaque inscrit au forum peut voter. Le vote est public et se fait dans le sujet qui sera cr cet effet. On ne vote pas pour soi. Il est possible de changer son vote, il suffit de poster les nouveaux choix, le message le plus rcent au moment du classement sera celui qui sera pris en compte. Chaque votant choisit son Top 3 (donc projet prfr, celui qui vient juste aprs, et un troisime). Chaque votant doit expliquer un minimum ses choix (histoire de donner un peu de retour aux crateurs). Vote qui dure 1 semaine en gnral. Lien du Forum : http://forum.games-creators.org Lien direct vers le forum Novendiales : http://forum.games-creators.org/forumdisplay.php?f=101 En esprant vous voir ce concours, personnellement jy participe !

Spoke44.

page 35

ESpacE mEmbrES

lES SpEEDS moDS SESSIon #72


Technique - Dragon. - Arbre. organique - Souris dordinateur. - Imprimante.

SESSIon #74
Technique - ptit dj (objet en rapport). - Carrosserie de voiture. organique - Lapin. - Garfield.

Flash back

SESSIon #73
Technique - Pole. - Concept Futuriste la faon de Daniel Simon. organique - Un il. - Tintin.

SESSIon #75
Technique - Radiateur. - Casque de Iron Man. organique - Papillon. - Personnage de Joe bar Team.

Encore une fois nous avons t attentifs aux ralisations faites dans le cadre des speeds mods et nous avons slectionn la meilleure image des sessions N72 75 ! Donc un grand bravo gft.freak pour sa ralisation de la session #73 :

page 36

ESpacE mEmbrES

lES TuToS SorTIS cE moIS InTErfacE graphIQuE pygamE pour pyThon


clemms nous apprend travers son big-tutoriel la bibliotque PyGame qui fusionne Python et la SDL, afin de crer, je cite, des jeux plus accessibles, plus ergonomiques et plus jolis.
http://www.siteduzero.com/tutoriel-3-341575-interface-graphique-pygame-pour-python.html

Flash back

Apprenez progrAmmer en C# SUr .neT


Dans ce big-tutoriel, Narvarth enseigne la programmation en C# avec le clbre framework .NET cr par Microsoft.
http://www.siteduzero.com/tutoriel-3-344102-apprenez-a-programmer-en-c-sur-net.html

SrIalISaTIon avEc booST


La srialisation cest le fait de transformer quelque chose de complexe en quelque chose de plus simple, afin de faciliter les oprations. NoMaintener nous lapprends avec Boost dans ce mini-tutoriel.
http://www.siteduzero.com/tutoriel-3-281267-serialisation-avec-boost.html

l algbrE DE boolE
alcinos nous explique ce quest lalgbre de Boole, son intrt, et comment sen servir.
http://www.siteduzero.com/tutoriel-3-342264-l-algebre-de-boole.html

maTrISEZ la 2D avEc phoToShop


Berzy a concoct un big-tutoriel sur Photoshop depuis zro afin de satisfaire les nombreux dbutants en graphisme voulant apprendre avec lactuel meilleur logiciel de retouche photographique.
http://www.siteduzero.com/tutoriel-3-346140-maitrisez-la-2d-avec-photoshop.html

comprEnDrE lES rSEaux Tcp/Ip ET IE foncTIonnEmEnT DInTErnET


Ce sont deux auteurs, elalitte et Qubs, qui nous prsentent ici le fonctionnement de la communication des ordinateurs entre eux. Puis ils expliquent la cration dun rseau local ainsi que son administration.
http://www.siteduzero.com/tutoriel-3-346829-comprendre-les-reseaux-tcp-ip-et-ie-fonctionnement-d-internet.html

lES maThS pour TouS !


Cest le premier tutoriel du futur site sciences.siteduzero.com, crit par m@teo21. Lobjectif est de nous apprendre les mathmatiques de la 6me la terminale, en suivant prcisment le programme national. Vous tes invit mettre un commentaire pour donner votre impression.
http://www.siteduzero.com/tutoriel-3-344877-les-maths-pour-tous.html

la vrIT Sur lES TablEaux ET poInTEurS En c


Marc Mongenet informe ici que ce que vous aviez appris sur les tableaux et les pointeurs ntait pas tout fait vrai. En effet, pour simplifier, on vous a menti sur quelque chose (pour votre bien)... soyez curieux !
http://www.siteduzero.com/tutoriel-3-344044-la-verite-sur-les-tableaux-et-pointeurs-en-c.html

DESSInEr la fracTalE DE manDElbroT


berdes1 nous apprend ce quest un fractale si vous ne le saviez pas, et comment en dessiner grce un algorithme clbre.
http://www.siteduzero.com/tutoriel-3-344309-dessiner-la-fractale-de-mandelbrot.html page 37

ESpacE mEmbrES

DbuTEr Sur aDobE phoToShop !


Cest le deuxime big-tutoriel sur Photoshop sorti sur le siteduzero, la concurrence sera rude entre Spoz et Berzy !
http://www.siteduzero.com/tutoriel-3-351765-debuter-sur-adobe-photoshop.html

Flash back

crEr Son SErvEur fTp


M@teo21 a de nouveau rdig un nouveau cours, nous apprenant crer son propre serveur FTP, et ainsi devenir, si vous le voulez, hbergeur !
http://www.siteduzero.com/tutoriel-3-356283-creer-son-serveur-ftp.html

calculEr unE plagE DaDrESSES avEc la mThoDE magIQuE


Ce mini-tutoriel a lair trange au premier abord par son titre, mais il en vaut vraiment la peine et je vous laisse dcouvrir de quoi il traite.
http://www.siteduzero.com/tutoriel-3-357419-calculer-une-plage-d-adresses-avec-la-methode-magique.html

la phySIQuE-chImIE En SEconDE
Deuxime cours cr par Brice Errandonea de la section sciences, tout le programme de physiquechimie de seconde sera vu dans ce big-tutoriel.
http://www.siteduzero.com/tutoriel-3-351894-la-physique-chimie-en-seconde.html

lES projETS En courS ou TErmInS who-STaTS


Who-Stats est un site dvelopp par Weltox proposant des statistiques pour votre site web et des outils de mesure daudience en temps rel. Trs simple dutilisation, il suffit dintgrer un script de quatre lignes son site. Les statistiques sont accessibles immdiatement et visibles par tout le monde, depuis un ordinateur et dici peu, le site sera adapt pour iPhone et BlackBerry. Who-Stats vous fournit des informations sur le matriel des visiteurs (navigateurs, systmes dexploitations et rsolutions), lvolution du nombre de visiteurs dans le temps ainsi que le nombre de pages vues et pour finir, les affluents, cest--dire comment les visiteurs sont arrivs sur votre site. Cest un outil indispensable tout webmaster qui prend soin de son site ! Notez que Who-Stats recrute un responsable partenariat, charg de promouvoir le site.
Le + : De nombreux outils, graphiques simples et complets, accessible depuis diffrentes plate-formes, gratuit.

Sur le forum du SdZ, mot(s) clef(s) : Who-Stats


http://who-stats.com.

page 38

graphox
xXDarkingXx sest lanc dans la cration dune librairie PHP nomme Graphox. Ce nest pas moins de 800 lignes qui vous permettent de gnrer des graphiques simplement, en quelques lignes et de faon condense.

TuTorIEl

Flash back

Certes, il existe dautres librairies qui ont le mme but, mais la force de Graphox rside dans le fait que les graphiques que vous crez sont entirement paramtrables : la couleur du fond, le type de courbe ou de point, les polices, les bordures, lpaisseur des lignes, lopacit. Mais ce nest pas tout, car xXDarkingXx compte tenir jour sa librairie et y ajouter de nombreuses autres fonctions. Heureusement, il a aussi crit un guide pour dbuter avec Graphox, qui recense et explique toute les fonctions de Graphox.
Le + : Ultra lgre, simple dutilisation, entirement paramtrable.

Sur le forum du SdZ, mot(s) clef(s) : [Librairie PHP] Graphox.

clocKTwEETS
Vous Twittez plus vite que votre ombre ? Drogu la Twitosphre ; vous passez votre vie rcolter des followers et tes toujours laffut de nouveaux followings ! Enfin, le RT, le DM et le FF nont plus de secrets pour vous ? Mais vous le savez, Twitter est chronophage ! Et cest l quentrent en jeu Gaf, Archlance et leur site Clocktweets. Celui-ci permet de programmer ses Tweets lavance, ensuite, vous tes libre de vaquer dautres activits. Avec prt de 3500 tweets dj programms, Clocktweets connait un succs croissant, il sest rcemment vtu dun nouveau design plus moderne, et senrichit de nouvelles fonctions, telles que modifier ses Tweets avant quil ne paraissent. Au cas o vous vous rendiez compte de leur inutilit... Une seule rgle : Programmez vos Tweets dans le futur avec amour.
Le + : Disponible en Anglais et en Franais, design attrayant, aucune pub, concours avec des lots.

Sur le forum du SdZ, mot(s) clef(s) : Clocktweets [Appli Twitter]


http://clocktweets.com

ET SI on parlaIT (ESop)
Nous venons de parler de Twitter et je suis prt parier que vous connaissez Facebook. Ces Rseaux Sociaux succs. Depuis quelques temps maintenant, Kaleidoscopique et son quipe (ils sont quatre) nous prsentent une Rseau Social IRL, In Real Life, Dans la Vraie Vie, oui, vous avez bien compris. Et Si On Parlait a lambition de vous faire rencontrer des gens pour de vrai, dans la rue, le bus ou au travail. Pour ce faire, vous pouvez commander un badge porter sur vous (sur votre sac dos par exemple) quand vous sortez de chez vous. Ensuite, allez la rencontre de gens qui portent un badge ESOP. Lassociation ne sarrte pas l, depuis peu, elle propose de soutenir un projet par mois, en vous donnant des badges et en faisant connatre le projet dans son rseau de Zopiens.
Le + : Badges thmatiques ; loriginal, le Blabla mais aussi les badges Twitter et Android. Votez pour celui du Site du Zro !

Sur le forum du SdZ, mot(s) clef(s) : Et si on parlait ? (ESOP)


http://www.etsionparlait.com

page 39

holySpIrIT
Vous ne connaissez pas HolySpirit : Act of Faith ? Cest un projet qui existe depuis plus de 2 ans, mais qui a sa place ici. Il est dvelopp par lquipe Alpha-Arts et cest Gregouar qui nous prsente le projet sur le Site du Zro. Cod en C++, cest un jeu type HacknSlash (jeu daction) qui se joue en Solo. Le seul scnario (trs pouss) vous plonge immdiatement dans un univers dHeroic Fantasy, une histoire de Bien et de Mal, de trahison et de sacrifices, que je vous laisse dcouvrir. Vous pouvez vous mettre dans la peau de plusieurs personnages le Crois, lInquisiteur, la Courtisane et le Pistolero, chacun ayant ses caractristiques. Le gameplay est rflchi et abouti, de nombreux paramtres sont prendre en compte (notamment les jauges de point de vie, de point de foi et de point dme). Vous disposez de plusieurs armes et lartisanat vous donne accs des objets uniques !
Le + : Jeu trs complet, il y a de nombreux lments, les graphismes sont agrables.

TuTorIEl

Flash back

Sur le forum du SdZ, mot(s) clef(s) : HolySpirit : Act of Faith [ By Alpha-Arts]


http://www.holyspirit.fr

cybEr-hacKEr
Cyber-Hacker est un jeu de type MMOG (Massevily Mutliplayer OnLine Games) qui se prsente sous forme de Web-OS. Ainsi, linterface du jeu est assez bluffante, elle donne limpression dtre aux commandes de lordinateur dun hackeur professionnel. La navigation dans le jeu se fait comme sur nimporte quel ordinateur, un bureau, des icnes et des fentres. Le jeu se passe principalement dans la console, cest de l que vous affrontez les autres joueurs, envoyez de virus, amliorez votre machine ou crackez la banque pour gagner plus de Sidromes (la monnaie du jeu). Soyez vigilants, vous pouvez tre infect par un virus, mais nabusez pas de lanti-virus, il peut coter cher ! Notez que de nouvelles fonctionnalits sont prvues, telles que la Cyber Force, des dfis entre les joueurs, avec gains la cl.
Le + : Un chat en direct o lon est bien accueilli, une interface innovante, mises jour frquentes.

Sur le forum du SdZ, mot(s) clef(s) : [MMOG - Web Os] Cyber Hacker
http://www.cyber-hacker.com

page 40

crEDITS

wE nEED you !
Spoke44
Directeur de publication Interview Tutoriel Actionscript 3

Scadocalex & Cohars


Assistants de direction Espace membres

Le magazine recherche activement tous les mois des personnes pour rdiger des tutoriaux et des articles. Si vous sentez la plume vous dmanger et que vous avez quelque chose nous proposer nhsitez pas contacter Spoke44 via le formulaire du site : www.spk-web.fr/magduzero.mdz ou par MP sur le Site du Zro.

Leonsulivan
Interview

D6-BL R@f

Projet RSPK-2172

Article UNIX

Webdev33
Article Web

Neo1015
Article Caml Light

rEmarQuES
Tous les articles, dossiers, interviews, citations, images ou ralisations publis dans ce magazine sont accompagns de lautorisation expresse de leurs auteurs. Lensemble des ralisations sus-vises sont la proprit de leurs auteurs respectifs et ne peuvent pas tre dissocis de ce magazine sans leur accord. Ce magazine est sous licence BY-NC-ND. Vous pouvez donc reproduire, distribuer et communiquer cette cration au public.

Bobo75014 Aznam

Tutoriel Blender

Tutoriel jeu vido

m@tteo78

Exercice Javascript

Le logo a t imagin et cre par hotgeart. Merci lui ! Le design du magazine, quant lui, est sign Derzone. Merci tous les correcteurs ainsi qu toutes les personnes qui ont accept la publication de leur ralisation dans ce magazine. Les excuses du mag coma94 (alias Etienne Moutot) pour avoir oubli de citer son pseudo ct de sa ralisation 2D du numro 1 Averse.

Cependant, vous devez citer le nom de lauteur original de la manire indique par lauteur de loeuvre ou le titulaire des droits qui vous confre cette autorisation (mais pas dune manire qui suggrerait quils vous soutiennent ou approuvent votre utilisation de loeuvre). Vous navez pas le droit dutiliser cette cration des fins commerciales et enfin vous navez pas le droit de modifier, de transformer ou dadapter cette cration.
http://creativecommons.org/licenses/by-nc-nd/2.0/fr/

Вам также может понравиться