Microclimat, conception, réalisation, et hébergement de sites internet à Bordeaux. Internet Bordeaux Aquitaine communication conseil référencement informatique graphisme multimédia : conseil – création – maintenance – référencement – hébergement
Ce samedi 18 février 2012 s’est déroulé à Talence notre premier coding contest basé sur notre application Expantion Reloaded.
22 participants, pour un total de 8 teams, se sont donc donné rendez-vous tout au long de la journée, à l’ENSEIRB de Talence, afin de développer une IA chargé d’anéantir les autres pour la conquête de la Galaxie.
Malgré quelques aléas, la journée s’est très bien déroulé, et l’équipe ShinoBeers a décroché le titre de Champion, devant Eirb Knight et Façon Puzzle. L’équipe s’est imposé grâce à une IA à la fois offensive et défensive, pour un résultat impressionnant.
Un premier essai concluant donc, qui donnera lieu sans aucun doute à de nouvelles itérations très prochainement.
Très attendu des développeurs – ou pas ! – l’index TIOBE au 01 janvier 2012 est sorti il y a quelques jours.
Cet index, calculé mensuellement par la société qui lui a donné son nom, se base principalement sur deux critères (nombre de formations et cours destinés aux ingénieurs, et nombre de revendeurs et free-lance spécialisés dans un langage de programmation). La société utilise également les moteurs de recherche (Google, Bing, Amazon, etc…) pour calculer les chiffres publiés… ce qui peut être à double tranchant, car moins un langage est « user-friendly » et plus on aura tendance à rechercher de l’aide, via les moteurs de recherche !
Voilà, 2011 se termine demain et aura vu tout un tas d’évènements plus ou moins marquants, économiquement, socialement ou politiquement. Comme nous sommes une agence web et que la politique n’est pas vraiment notre domaine, nous allons nous concentrer sur les évènements marquants du monde du web, de l’informatique et du multimédia en général.
28 janvier
Sortie de la Nintendo 3DS au Japon. La nouvelle console portable de Nintendo, faisant suite à la cultissime DS, introduit un écran 3D sans lunettes, utilisant la technologie de l’auto-stéréoscopie. Plus puissante, la machine peine cependant à s’imposer, mais les ventes exploseront au cours de l’année grâce à une baisse de prix de près de 100€.
11 février
Le géant de la téléphonie Nokia et Microsoft annoncent une alliance visant à contrecarrer la domination d’Apple et d’Android dans le domaine de la téléphonie. Désormais, l’OS des smartphones Nokia sera donc Windows Phone.
25 mars
Sortie de l’iPad 2 en Europe. Comme à son habitude, Apple peut compter sur une armée de fidèles clients pour acheter par millions la machine, alors que cette dernière n’a quasiment aucune nouveauté par rapport à la première version.
17 avril
Piratage du PlayStation Network par le groupe Anonymous, suite à la procédure engagée par SONY contre George Hotz (connu pour avoir réussi le premier à pirater la PlayStation 3). Suite à cette attaque et au vol de plusieurs millions d’informations bancaires, le PSN (utilisé sur PS3 et PSP) restera inutilisable pendant un mois, et mettra en évidence l’incroyable faiblesse de la sécurité des données sur le réseau PlayStation. Par la suite, plusieurs sites se feront attaquer, comme Steam, SEGA, Bioware et Codemasters.
15 août
L’ogre Google a encore frappé : il annonce l’acquisition de Motorola pour 12,5 milliards de dollars, et met ainsi la main sur 17 000 brevets.
19 août
Le géant américain HP abandonne son système d’exploitation WebOS et stoppe le développement et la vente de tablettes et téléphones mobiles. La société annonce également que sa division PC pourrait être vendue très prochainement.
05 octobre
Mort de Steve Jobs, l’emblèmatique PDG d’Apple, des suites d’un cancer, à l’âge de 56 ans. Il restera pour beaucoup l’un des plus grands visionnaires du monde de l’informatique, et le génial géniteur de l’iMac, iPod, iPhone et iPad.
10 novembre
Abode annonce l’abandon du lecteur Flash pour les appareils mobiles, afin de se consacrer à AIR et HTML5 sur ces plateformes. Par ailleurs, la société californienne a annoncé son rapprochement avec la Fondation Apache afin de lui confier le SDK Flex (qui contient un compilateur et un ensemble de bibliothèques dédiées aux RIA).
Mais c’est le premier framework gratuit, open source, et maintenu par une entreprise, Aerys.
Si tout le monde comprend l’intérêt de profiter d’un outil gratuit, le fait qu’il soit open source est un confort immense pour le développeur et pour comprendre comment il fonctionne. Cela permet egalement de participer à l’amélioration de celui-ci en proposant des correctifs ou de nouveaux éléments.
Qu’une entreprise s’occupe de le maintenir est aussi un avantage … et un inconvénient. Je ne vais pas rentrer dans les détails mais c’est très comparable au framework Flex. Cela peut rassurer quand à la pérennité de l’outil mais également inquiéter sur sa gouvernance.
Maintenant je vous propose de créer notre première scène avec Minko et Flex, en produisant quelque chose de comparable à mon dernier tutoriel sur Alternativa3D.
Pre-Requis
Attention à bien respecter ces points avant de commencer, au risque de passer beaucoup de temps à chercher sur le net des solutions.
- cibler flashplayer 11
- ajouter « -swf-version=13 » aux options de compilations
- sous firefox virer FireBug & Co au risque d’avoir des erreurs de type ReferenceError: Error #1065: Transform3DController - utiliser le wmode= »direct » comme expliqué ici en cas de Error #2044: ErrorEvent non pris en charge : text=Error #3702: Context3D non disponible.
Les Elements de mon univers
L’affichage de la scène est pris en charge par le Viewport, un Sprite dédié au rendu de notre univers.
Tout est Group ! Dans Minko, tout les éléments composant notre univers sont des Group. Notre scène principale est un Group, une boite est un Group contenant texture, mesh, transformation, etc…
Bon on va voir un peu plus loin que tout n’est pas vraiment Group mais c’est un concept important et j’aime bien l’idée
L’observateur est une Camera, voilà un concept qui ne devrait pas nous dépayser.
Enfin la lumière est fournie par … Light, bon là aussi ça devrait aller mais par contre il faudra ajouter l’extension minko-lighting au framework. Ah oui parce qu’il existe pas mal d’extensions pour ajouter des fonctionnalités au framework de base, pour par exemple charger des 3DS, apporter la physique, l’éclairage, etc…
Bien, créons notre propre univers 3D maintenant et comme un bon cuisinier nous allons commencer par préparer nos ingrédients :
private var _camera:ArcBallCamera = new ArcBallCamera();
private var _cube:Group = new Group();
private var _display3DContainer:UIComponent = new UIComponent();
private var _scene:Group = new Group();
private var _viewport:Viewport = new Viewport();
_display3DContainer est là pour contenir dans viewport car nous sommes dans un projet Flex et il n’est pas possible d’ajouter autre chose qu’un UIComponent dans notre application.
Maintenant préparons notre Cube ainsi :
private function buildCube():void
{
var mesh:CubeMesh = new CubeMesh();
var texture:ColorTexture = new ColorTexture( 0xFF0000 );
_cube.addChild( texture );
_cube.addChild( mesh );
}
La creation de l’univers
Maintenant que nous avons tous nos ingrédients sous la min, allons-y pour un peu de cuisine.
Je vais faire ça à la réception du FlexEvent.APPLICATION_COMPLETE. C’est un détail qui n’a pas beaucoup d’importance.
Je commence par placer ma camera au bon endroit puis je l’ajoute à ma scène.
Ensuite je lance la fabrication de mon cube et je l’ajoute à la scène.
Enfin j’ajoute mon viewport à mon UIContainer que j’ajoute egalement à mon application.
A noter cette instruction :
_viewport.alwaysOnTop = true;
Elle garantit que le rendu sera toujours par dessus. Bon j’ai pas bien compris le pourquoi du comment, là, mais je reviendrai dessus.
Pour finir nous allons animer le tout par une petite rotation de la camera autour du cube.
Rendu et Animation
Terminons ce premier tutoriel par l’ajout d’une petite animation et surtout … le rendu de notre scène !
Ajoutons un listener sur Event.ENTER_FRAME.
Notre camera est une ArcBallCamera. C’est à dire qu’elle est braquée sur une cible (par defaut 0,0,0) et va tourner autour via sa propriété rotation.
Il nous suffit de l’incrémenter à chaque itération pour obtenir l’animation désirée.
Pour le rendu c’est simple, on demande au viewport de rendre notre scène et le tour est joué.
Commentaires récents