Couverture
ZEND Framework 2
GNU/Linux Magazine Hors-série N°
Numéro
58

ZEND Framework 2

Temporalité
Janvier/Février 2012
Image v3
ZEND Framework 2
Article mis en avant

Résumé
La première version bêta du Zend Framework 2 est enfin sortie après des mois de développement [1], juste à temps pour la « Zend PHP Conference ». Cette nouvelle branche va maintenant entrer dans une phase de consolidation puis de finition. Voici les grands axes qui ont été mis en avant par les développeurs et le contexte du projet.

Recommandations

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
58
Mois de parution
janvier 2012
Spécialité(s)
Résumé
Le framework Zend est un outil de développement permettant de réaliser des applications de manière professionnelle en proposant à la fois des méthodes de développement, mais aussi un moyen de les mettre en pratique qui est le framework lui-même.C’est ainsi qu’il faut voir les choses. Cependant, il est nécessaire de comprendre que le framework est un élément parmi d’autres et qu’il utilise un langage de programmation, en l’occurrence PHP.Il est donc nécessaire d’utiliser les bonnes pratiques de PHP et les outils permettant d’optimiser son fonctionnement, d’autant que ces derniers deviennent indispensables et que le framework est réellement prévu pour fonctionner avec eux.

Règles basiques d’architecture

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
58
Mois de parution
janvier 2012
Spécialité(s)
Résumé
Cet article va introduire les règles qu’il est nécessaire de connaître pour commencer à créer une nouvelle application en utilisant le framework Zend 2.Il va présenter les différences notables avec la première branche, mais il est accessible à ceux qui ne la connaissent pas.Il est à noter, avant même de commencer, que ZF2 n’est pas encore terminé et que certaines fonctionnalités essentielles sont manquantes. Ceci explique la complexité relative de ce qui est abordé dans ce chapitre et qu’il est nécessaire de comprendre avant même de commencer à rédiger le contenu de son premier module, alors que certaines de ces notions pourront être abordées après la rédaction du module, avec la version définitive.Toujours est-il que ce qui est dit ici restera valable, mais pourra être abordé plus tard dans le processus de développement. Ce premier article regroupe les changements les plus importants entre ZF1 et ZF2.

Modèles

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
58
Mois de parution
janvier 2012
Spécialité(s)
Résumé
La couche de persistance d’une application est l’élément le plus essentiel. Les frameworks tels que ZF2 sont conçus pour créer des applications au-dessus de bases de données relationnelles. Ils disposent donc de tout l’arsenal nécessaire pour gérer les différentes bases de données du marché et leurs spécificités, mais également pour proposer des méthodes efficaces pour gérer les données lues ou écrites en base, via un ORM performant.

Vues

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
58
Mois de parution
janvier 2012
Spécialité(s)
Résumé
Dans le modèle MVC, la vue représente toute la couche de présentation. Il s’agit de présenter les données en les organisant dans une page HTML ou dans un document, mais également de les présenter sous une forme lisible (en transformant une date brute en chaîne de caractères représentant une date lisible, …). Pour ce faire, ZF2 utilise les fichiers PHTML pour assurer l’écriture de fichiers HTML et utilise des aides de vues pour la conversion de données.

Contrôleur

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
58
Mois de parution
janvier 2012
Spécialité(s)
Résumé
Le contrôleur est le dernier des éléments du patron d’architecture MVC. C’est un chef d’orchestre qui fait travailler des modèles, utilise tout l’environnement qui a été construit pour lui et mis à sa disposition et pousse des données dans la ou les vues.

Formulaire

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
58
Mois de parution
janvier 2012
Spécialité(s)
Résumé

Le formulaire version ZF1 est un composant au croisement du modèle (il utilise des données issues d’un modèle et il propose une saisie conforme au modèle) de la vue (ce composant peut être rendu sous forme HTML) et du contrôleur (processus de validation et de filtrage des données). La volonté de ZF2 est de clarifier cette séparation.C’est un composant clé qui est essentiel pour se faciliter à la fois l’impératif travail de validation des données, mais également celui de présentation par la description de chaque champ. Il permet de reproduire des pratiques standardisées en étant assuré du type de données que l’on va recevoir lorsque le formulaire sera validé.Il est également nécessaire de parler de la problématique de décoration, au cœur des difficultés de programmation les plus importantes avec ZF1 pour tous ceux qui ont eu la volonté de ne pas utiliser les voies standardisées.

Règles avancées d’architecture

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
58
Mois de parution
janvier 2012
Spécialité(s)
Résumé
L’article sur les règles basiques d’architecture a présenté le composant MVC qui serait, s'il ne fallait en choisir qu’une, la principale nouveauté de ZF2. Il a également présenté la requête, la réponse et le routeur, ainsi que les généralités sur les modules. L’objectif était de fournir toutes les informations nécessaires pour aborder l’écriture de modules et les 4 autres articles qui suivent ont décrit ce qu’il fallait pour les construire.L’article présent est un complément à ce premier article qui traite plus particulièrement de certaines notions dont on peut se passer pour comprendre l’écriture d’un module mais restent très utiles au niveau de l’application. Les 4 articles qui suivent traitent chacun également d’un de ces domaines.

Aides d’action

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
58
Mois de parution
janvier 2012
Spécialité(s)
Résumé
Les Controller plugins ou aides d’action sont un élément important de ZF1. Ils offraient un moyen de réaliser des actions complexes courantes de manière réutilisable. Il ne faut pas les confondre avec les plugins d’application qui se situaient à un niveau plus haut et permettaient de réaliser des actions transverses assez facilement, comme la gestion d’une pile de dispatch, par exemple. Pour qu’ils fonctionnent, il fallait qu’ils s’enregistrent et qu’ils implémentent des hooks qui leur permettaient de se déclencher au moment venu. Or, ZF2 a totalement modifié sa façon de procéder. Maintenant, on utilise les événements. Ceci a totalement bouleversé les plugins au sens ZF1, mais a facilité l’écriture d’aides d’action et leur utilisation. Le nom « Plugin » leur est dédié.

Mise en page et vues avancées

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
58
Mois de parution
janvier 2012
Spécialité(s)
Résumé
La mise en page est traitée dans un article dédié pour la différencier de la notion de vue et parce que pour ZF1, cette mise en page était traitée à part. Pour ZF2, la mise en page est un élément de configuration comme un autre et est réalisée très simplement.

Chargement automatique

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
58
Mois de parution
janvier 2012
Spécialité(s)
Résumé
Comme on l’a vu tout au long des articles précédents, l’architecture du framework et donc les architectures des applications ont largement évolué. Un élément clé de cette architecture sont les règles qui régissent le chargement des classes.

Exceptions

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
58
Mois de parution
janvier 2012
Spécialité(s)
Résumé
ZF1 proposait une exception par composant ou sous-composant. ZF2 revoit toute la façon de faire et l’adapte à l’utilisation des espaces de nommage.Savoir comment fonctionne le système d’exception permet de comprendre leur utilisation dans les composants, mais surtout, permet de les utiliser de manière conforme lorsque l’on créera nos propres exceptions.

Sous le capot

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
58
Mois de parution
janvier 2012
Spécialité(s)
Résumé
Dans les articles précédents, ont été présentés quelques composants parmi les plus essentiels et la manière dont il faut les utiliser, voire celle dont ils fonctionnent. Cette quatrième partie du hors-série sur ZF2 permet d’aller plus loin dans les concepts utilisés par le framework et de présenter en détails les connaissances qu’il faut avoir au préalable pour lire son code.

Annotations

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
58
Mois de parution
janvier 2012
Spécialité(s)
Résumé
Une annotation est à la base un élément de programmation assez peu standardisé permettant de gérer des métadonnées d’un code source. On trouve différentes notions regroupées sous le terme d’annotation, parmi lesquelles la fourniture de documentation au format PHPDoc. En ce qui concerne ZF2, la notion d’annotation est définie par l’interface Zend\Code\Annotation\Annotation.

Utilisation des évènements

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
58
Mois de parution
janvier 2012
Spécialité(s)
Résumé
Comme on a pu le voir dans les articles précédents, les événements sont au cœur de ZF2. Lorsqu’on ne se concentre que sur le modèle, la vue et le contrôleur, ils sont utilisés sans que l’on en ait forcément conscience, car au cœur du processus Mvc. La première partie de cet article va les détailler. Le gestionnaire d’événements est également prévu pour être utilisé à n’importe quel moment pour résoudre des problématiques qui auparavant nécessitaient d’écrire des classes spécifiques avec des hooks spécifiques. La seconde partie va présenter la manière de jouer avec ce gestionnaire.
Tous les numéros standards
Tous les numéros
Novembre/Décembre 2025
Créez votre premier rootkit !
Septembre/Octobre 2025
Vous ne comprenez pas Git !
Juillet/Août 2025
Programmez votre premier Honeypot SSH
Mai/Juin 2025
Revue de code automatisée avec GitHub et SonarQube
Mars/Avril 2025
Java 23, votre prochain langage de script ?
Janvier/Février 2025
Accédez au matériel PCIe depuis vos VM !
Novembre/Décembre 2024
Créez une authentification sans mot de passe avec OpenPGP !
Septembre/Octobre 2024
Programmez votre propre VPN !
Juillet/Août 2024
Créez votre processeur !
Mai/Juin 2024
Embarquez Lua dans vos programmes !
Mars/Avril 2024
Maîtrisez les macros Rust !
Janvier/Février 2024
Progressive Web App - Développez une fois, déployez partout !
Novembre/Décembre 2023
Alliez tests et DevSecOps !
Septembre/Octobre 2023
Automatisez la construction et la diffusion du code avec GoReleaser
Juillet/Août 2023
Découvrez la cryptographie avec Erlang/OTP
Mai/Juin 2023
Automatisez vos développements avec Jenkins & GitLab
Mars/Avril 2023
Développez vos applications desktop en Go !
Janvier/Février 2023
Python 3.11 - Tour d’horizon des nouveautés en pratique
Novembre/Décembre 2022
Détournez l’exécution de binaires
Septembre/Octobre 2022
Développez pour Kubernetes !
Juillet/Août 2022
Créez votre première application de réalité virtuelle et entrez dans le Metaverse
Mai/Juin 2022
Machine learning & fake news : l'IA est-elle la solution ?
Mars/Avril 2022
Boostez vos codes Django avec Elastic APM
Janvier/Février 2022
Techniques & outils de Web Scraping avancé
Décembre 2021
Créez votre API Rest en Python
Novembre 2021
Cryptomonnaies : découvrez les NFT !
Octobre 2021
Réalisez simplement des interfaces graphiques avec Python & Qt5
Septembre 2021
Les coroutines, une autre vision de la programmation multi-tâches
Juillet/Août 2021
Poetry + Cookiecutter : simplifiez vos projets Python !
Juin 2021
Développez votre interface vocale
Mai 2021
Progressive Web Apps & Flutter : le futur du dev mobile !
Avril 2021
Conjuguez Deep Learning & Edge Computing avec la Nvidia Jetson
Mars 2021
Optimisez le machine learning avec la programmation différentiable
Février 2021
Ne ratez pas la révolution Rust !
Janvier 2021
Découvrez Skimage, une alternative à OpenCV pour la reconnaissance d'images
Décembre 2020
Basculez tous vos développements vers VSCode
Novembre 2020
Techniques d'obfuscation de code : comprendre les méthodes pour protéger ses sources
Octobre 2020
Analysez les tendances des recherches grâce à l'API Google Trends
Septembre 2020
Accélérez vos codes avec Numba !
Juillet/Août 2020
IA : créez une Fake Cam
Juin 2020
CMake & Ninja : le duo gagnant !
Mai 2020
Exploitez vraiment votre processeur !
Avril 2020
Systèmes multi-agents : simulez la propagation d'un virus
Mars 2020
Explorez Enigma !
Février 2020
Réalisez vos deepfakes avec les réseaux génératifs antagonistes
Janvier 2020
Passez vos réseaux de neurones à la vitesse supérieure avec l'Intel Neural Compute Stick 2
Décembre 2019
Découvrez les 10 principales nouveautés de Python 3.8 !
Novembre 2019
Créez votre première application Blockchain
Octobre 2019
Créez votre premier cortex visuel
Septembre 2019
Tirez le meilleur de GIT
Juillet/Août 2019
Simulez un ordinateur quantique
Juin 2019
Sécurisez votre code Java avec des conteneurs grâce à Quarkus
Mai 2019
Déploiement automatique de Linux grâce à PXE, BOOTP & TFTP
Avril 2019
Découvrez Prometheus : le monitoring simple, efficace et scalable !
Mars 2019
Mettez Linux à l'écoute des ondes !
Février 2019
« Compiler » ses scripts Python
Janvier 2019
Chroot, Machine virtuelle ou Conteneur ?
Décembre 2018
Testez les langages de demain !
Novembre 2018
Utilisez la technologie derrière Alexa et Siri
Octobre 2018
Humain ou robot ? Créez et testez votre chatbot !
Septembre 2018
Wireguard : OpenVPN killer ?
Juillet/Août 2018
ZSH : cette fois vous pouvez vraiment oublier Bash !
Juin 2018
Machine Learning et apprentissage automatique
Mai 2018
Votre animal de compagnie virtuel !
Avril 2018
Jouez avec les nombres premiers pour comprendre le chiffrement RSA !
Mars 2018
Corrigez un Kernel Panic et soumettez un patch !
Février 2018
Lâchez vos agents de recherche sur le Web !
Janvier 2018
OpenCV : construisez un modèle 3D à partir d'une simple photo
Décembre 2017
La chasse aux pirates est ouverte : mettez en place votre premier Honeypot !
Novembre 2017
Maîtrisez la gestion avancée de SMS sans vous ruiner !
Octobre 2017
Détectez l'apparition d'objets "abandonnés" dans un flux vidéo !
Septembre 2017
Deep Learning en pratique : recherchez des objets dans une collection d'images !
Juillet/Août 2017
Faites du jeu Duke Nukem 3D un outil Sysadmin !
Juin 2017
Prenez-vous pour Dieu : créez la vie !
Mai 2017
Prédisez les saisies de vos utilisateurs avant qu'ils ne sachent eux-même quoi écrire
Avril 2017
Mettez en place un système de reconnaissance faciale !
Mars 2017
Donnez un cerveau à votre PC !
Février 2017
Créez votre premier virus en Python !
Janvier 2017
Créez une application pour votre TV connectée !
Décembre 2016
Créez un robot qui fouille le Web pour vous !
Novembre 2016
Réseaux de neurones & reconnaissance de symboles manuscrits
Octobre 2016
Réalité Augmentée - Intégrez vos objets 3D dans le monde réel avec ARToolKit
Septembre 2016
Créez votre première intelligence artificielle !
Juillet/Août 2016
Vision assistée par ordinateur
Juin 2016
Créez votre première application graphique en GTK+ !
Mai 2016
Synthèse vocale - Faites parler votre ordinateur !
Avril 2016
Créez un cluster haute disponibilité avec MySQL/MariaDB
Mars 2016
Réalité virtuelle
Février 2016
Automatisez vos conteneurs avec Docker & Ansible !
Janvier 2016
Découvrez et utilisez Google Polymer, un framework web vraiment modulaire !
Décembre 2015
Reconnaissance vocale avec Python et Pocketsphinx
Novembre 2015
Reprenez le contrôle de vos sauvegardes avec Backup Checker !
Octobre 2015
Diagnostiquez facilement votre système avec Sysdig !
Septembre 2015
Créez votre cluster de calcul
Juillet/Août 2015
Décompilez une application Android !
Juin 2015
Nos conseils pour optimiser vos programmes
Mai 2015
Dissimulez vos informations !
Avril 2015
Maîtrisez les algorithmes de compression !
Mars 2015
Utilisez Ceph, le système de fichiers distribué haute performance !
Février 2015
Optimisez l'exécution de vos codes Python !
Janvier 2015
Automatisez l'installation de vos serveurs avec Ansible !
Décembre 2014
Comprenez la cryptographie !
Novembre 2014
Quel est le langage le plus performant ?
Octobre 2014
Créez votre propre langage de programmation
Septembre 2014
Virtualisation et sécurité avec Docker
Juillet/Août 2014
Exploitez pleinement les performances du multicoeur grâce aux futex !
Juin 2014
Maîtrisez votre serveur http Nginx grâce à la souplesse du langage Lua et aux outils d'OpenResty !
Mai 2014
Rendez vos programmes vivants avec les algorithmes génétiques
Avril 2014
Installez votre premier serveur Asterisk et filtrez les télévendeurs !
Mars 2014
Routage OSPF avec BIRD !
Février 2014
Maintenant vous n'avez plus le choix... Chiffrez avec GnuPG !
Janvier 2014
Administrez et configurez le kernel
Décembre 2013
Orchestration enfin simple avec SALT
Novembre 2013
Installez votre serveur LDAP
Octobre 2013
Retour d'expérience : Big Data, parallélisez et accélérez vos transferts de fichiers
Septembre 2013
Créez vos postes sans disque
Juillet/Août 2013
Centralisez la gestion des logs
Juin 2013
Boostez les performances de vos serveurs
Mai 2013
Diagnostiquez et réparez votre serveur facilement !
Avril 2013
Virtualisation avec les LinuX Containers
Mars 2013
Votre supervision pas à pas avec Zabbix
Février 2013
Déployez votre serveur Samba
Janvier 2013
Jouons avec le C !
Décembre 2012
Administrer MySQL
Novembre 2012
DNS/Bind démystifié !
Octobre 2012
Systemd prêt à remplacer INIT ...ou pas !
Septembre 2012
Protégez vos applications web
Juillet/Août 2012
Installez votre groupware Kolab
Juin 2012
Créez votre VPN avec OpenVPN
Mai 2012
Migrez votre système de fichiers vers BTRFS !
Avril 2012
Émulez une nouvelle machine dans QEMU
Mars 2012
Visite au coeur de l'émulateur QEMU
Février 2012
Débarassez-vous de votre serveur mail !
Janvier 2012
Gérez vos sources & projets proprement !
Décembre 2011
Jouons avec le Kernel
Novembre 2011
Installez une solution Single Sign-on complète et multiplateforme avec Kerberos
Octobre 2011
Testez le cloud pour vos dépôts RPMS avec Amazon S3
Septembre 2011
Oubliez Nice/Renice et utilisez Noyau & CGroups pour gérer les groupes de processus
Juillet/Août 2011
Simplifiez et automatisez la gestion de votre virtualisation avec Libvirt, Virtmanager et Centos
Juin 2011
Découvrez les nouveautés Debian 6.0
Mai 2011
Centralisez la gestion des authentifications X.509 + SSH
Avril 2011
Renforcez la sécurité de vos connexions distantes avec OpenSSH et les certificats
Mars 2011
OpenLDAP : installation, sécurisation, réplication
Février 2011
Administration distante d'un parc dynamique et hétérogène avec Fabric
Janvier 2011
Virtualisation avec Xen 4
Décembre 2010
Clustering et systèmes de fichiers répartis avec Red Hat Cluster Suite
Novembre 2010
Configurez et optimisez un antispam adaptif avec DSPAM
Octobre 2010
PostgreSQL 9.0 - Installation, configuration et mise en oeuvre
Septembre 2010
Installation et configuration complète d'un Groupware libre avec Kolab
Juillet/Août 2010
Développez vos propres sondes Nagios !
Juin 2010
Detection d'intrusion avec l'HIDS OSSEC
Mai 2010
QOS & contrôle du trafic
Avril 2010
NGINX HTTP : serveur web et reverse proxy orientés performance
Mars 2010
Cherokee Web Server : rapide, flexible et facile à configurer !
Février 2010
Construisez simplement votre portail Wifi captif avec Chillispot et CAS
Janvier 2010
Solution Single Sign-on
Décembre 2009
Nouveautés du Kernel 2.6.32
Novembre 2009
Virtualisez votre réseau avec Netkit ou VDE2
Octobre 2009
PKI OpenSSL en pratique avec EJBCA, Java et JBOSS
Septembre 2009
ClamAV face aux produits propriétaires
Juillet/Août 2009
Stockage réseau : mise en oeuvre et sécurisation
Juin 2009
Apache CouchDB - Introduction, installation et utilisation
Mai 2009
Construisez et administrez votre VPN L2TP/IPSEC avec OpenSSL, OpenSwan, PPP et XL2TPD
Avril 2009
Créez et personnalisez votre système Debian 5.0 Live sur CD/DVD ou clef USB
Mars 2009
Passez à ZFS ! Le système de fichiers révolutionnaire
Février 2009
Single Sign-On/SSO et authentification web centralisée avec CAS-Toolbox
Janvier 2009
Besoin d'une solution centralisée et efficace d'administration système ? Installez et déployez Puppet !
Décembre 2008
18 recettes pour tirer le meilleur d'OpenLDAP
Tous les numéros hors-séries
Tous les numéros
Avril/Mai 2023
Développement web avec PHP & Symfony
Février/Mars 2023
Rust par la pratique !
Décembre 2022/Janvier 2023
Dossier spécial C++20 - Tout ce que vous devez savoir en pratique sur le nouveau standard !
Octobre/Novembre 2022
Introduction à la Télémétrie avec OpenTelemetry
Juin/Juillet 2022
Créez vos interfaces graphiques & IHM en Python
Avril/Mai 2022
Les nouvelles approches du développement web
Février/Mars 2022
Big data - Du stockage au traitement...
Novembre/Décembre 2021
Les bases de l'IA - Bien débuter en Intelligence Artificielle
Septembre/Octobre 2021
Les cryptomonnaies en pratique
Juillet/Août 2021
Hyper automatisation
Mai/Juin 2021
Déployez vos agents sur la Toile... Web scraping & agents de recherche
Mars/Avril 2021
Code Legacy ...ou comment maintenir vos vieux codes encore en production
Janvier/Février 2021
Spécial développeur : la boîte à outils indispensable !
Novembre/Décembre 2020
Débogage : outils et méthodes pour traquer les erreurs
Septembre/Octobre 2020
Python 3 pour débuter en programmation
Juillet/Août 2020
Programmez avec un moteur 3D !
Mai/Juin 2020
Codez une fois, développez partout !
Mars/Avril 2020
GIT - Maîtrisez le versionning de code
Janvier/Février 2020
Initiez-vous au Machine Learning en pratique avec TensorFlow et Keras
Novembre/Décembre 2019
Spécial DevOps - La boîte outils indispensable !
Septembre/Octobre 2019
Conteneurs : utilisation avancée & microservices
Juillet/Août 2019
Développez des extensions & plugins pour améliorer vos applications
Mai/juin 2019
Scripts Shell : bonnes pratiques et techniques avancées
Mars/Avril 2019
Big Data & Data Mining : analysez vos données !
Janvier/Février 2019
Deep Learning : de la théorie à la pratique
Novembre/Décembre 2018
Comprendre les attaques sur le Wifi
Septembre/Octobre 2018
Comprenez enfin tout sur... les conteneurs !
Juillet/Août 2018
Les bonnes pratiques du développement sécurisé
Mai/Juin 2018
Vision assistée par ordinateur avec OpenCV
Mars/Avril 2018
Mémo Python - Saison 2 : 59 nouvelles recettes pour accélérer vos développements !
Janvier/Février 2018
Machine Learning : le guide pratique pour démarrer en Intelligence Artificielle
Novembre/Décembre 2017
Sécurisez votre infrastructure Linux
Septembre/Octobre 2017
Le guide indispensable pour installer et configurer votre VPN
Juillet/Août 2017
Créez, publiez & monétisez votre application avancée Android
Mai/Juin 2017
Programmation réseau en Python
Mars/Avril 2017
Maîtrisez la programmation de scripts Shell
Janvier/Février 2017
Créez votre base de données MySQL MariaDB en 5 étapes
Novembre/Décembre 2016
Kernel - Le guide pour plonger au coeur de votre système GNU/Linux
Septembre/Octobre 2016
Mémo Python - 75 recettes pour accélérer vos développements
Juillet/Août 2016
Node.js - Initiez-vous à la programmation serveur & desktop en JavaScript
Mai/Juin 2016
Surveillance - Tester les techniques pour mieux se défendre !
Mars/Avril 2016
Débutez en C++
Janvier/Février 2016
Créez votre première application Android
Novembre/Décembre 2015
Le guide pour apprendre à programmer en Java en 5 jours !
Septembre/Octobre 2015
Le guide pour apprendre à programmer en C en 5 jours !
Juillet/Août 2015
PHP efficace
Mai/Juin 2015
Analyse de données & Big Data
Mars/Avril 2015
Programmation orientée objet
Janvier/Février 2015
Securité & Linux
Novembre/Décembre 2014
Raspberry Pi
Septembre/Octobre 2014
Les systèmes BSD
Juillet/Août 2014
Python : niveau avancé à expert
Mai/Juin 2014
Ligne de commandes
Mars/Avril 2014
Je programme
Janvier/Février 2014
Langage C
Novembre/Décembre 2013
Exploiter au mieux votre projet open source
Septembre/Octobre 2013
Serveurs, le guide pour créer et gérer vos services à la carte
Juillet/Août 2013
MySQL et bases de données
Mai/Juin 2013
Apache, le guide complet
Mars/Avril 2013
Python avancé
Janvier/Février 2013
Programmation : initiation, embarqué et microcontrôleurs
Novembre/Décembre 2012
Apprenez à programmer en Go !
Septembre/Octobre 2012
Ne quittez plus vos serveurs des yeux !
Juillet/Août 2012
Créez vos applications Android comme un pro !
Mai/Juin 2012
20 recettes pour développer vos applications Android
Mars/Avril 2012
Django, le framework Python pour les perfectionnistes pressés...
Janvier/Février 2012
ZEND Framework 2
Novembre/Décembre 2011
Carnet de Root
Septembre/Octobre 2011
Java
Juillet/Août 2011
Spécial C et C++
Mai/Juin 2011
Spécial PHP
Mars/Avril 2011
Initiation à Python
Janvier/Février 2011
Développement Android
Novembre/Décembre 2010
Hacks, électronique & embarqué
Septembre/Octobre 2010
Installation, configuration et optimisation de votre serveur web Apache
Juillet/Août 2010
Incontournable Python
Mai/Juin 2010
Besoin d'un serveur polyvalent, rapide et sur mesure ? Debian
Mars/Avril 2010
Voyage au centre de l'embarqué
Janvier/Février 2010
Focus sur les outils pour mieux exploiter Linux
Novembre/Décembre 2009
Retour d'expériences pour sysadmin - 10 solutions concrètes
Septembre/Octobre 2009
Introduction, configuration et utilisation avancée de PostgreSQL 8.4
Juillet/Août 2009
Electronique, embarqué et hacks
Mai/Juin 2009
Supervision et surveillance
Mars/Avril 2009
Configurez et optimisez votre firewall
Janvier/Février 2009
Explorez les richesses du langage Python