Passer aux informations sur le produit
À lire absolument ! Guide d'intégration des développeurs
À lire absolument ! Guide d'intégration des développeurs
Description
Introduction au livre
« Je suis finalement devenu développeur de logiciels. »
Mais que dois-je faire maintenant ?
« Un nouvel employé a rejoint notre entreprise aujourd'hui. »
« Que dois-je enseigner en premier ? »


À quoi ressemble exactement un développeur compétent, un développeur en progression, un développeur qui réussit, et comment peuvent-ils y parvenir ? La plupart des nouveaux ingénieurs possèdent d’abord certaines bases techniques, mais peu d’expérience pratique.
Ce livre couvre tout ce qu'un nouveau développeur ou un chef d'équipe novice rencontrera bientôt dans le domaine du développement informatique, et regorge d'informations essentielles dont ils ont besoin pour réussir.


Ce guide est indispensable aux développeurs, qu'ils soient débutants ou expérimentés. Il couvre l'intégralité du cycle de vie du développement logiciel, du codage à la conception, en passant par le déploiement, la revue de code, les tests, la culture d'entreprise, la collaboration et l'évolution de carrière. Que vous soyez novice ou chef d'équipe, ce guide est une lecture essentielle.
Il regorge de conseils précieux que non seulement les demandeurs d'emploi et les nouveaux venus se préparant à devenir développeurs, mais aussi les ingénieurs seniors dirigeant des équipes devraient revoir.
Les auteurs travaillent comme développeurs dans la Silicon Valley et partagent des anecdotes et des expériences hilarantes et parfois émouvantes tirées de leur carrière dans l'informatique, ce qui rend la lecture encore plus agréable. À la fin de chaque chapitre, ils proposent également une « Checklist essentielle du développeur » que tout développeur se doit de suivre ou d'éviter absolument.
  • Vous pouvez consulter un aperçu du contenu du livre.
    Aperçu

indice
Chapitre 1 : Le début du voyage

〉 Mes premiers pas en tant que développeur, quel chemin me réserve l'avenir ?
Fixons-nous des objectifs
Carte pour votre voyage
__débutant
Croissance due à la tempête et au stress
__Contributeur de confiance
__Océan des opérations
__Le pays des capables
En avant, en avant !

Chapitre 2 : Efforts conscients pour accroître les compétences

〉Ce que vous devez faire pour devenir un développeur compétitif
Méthodes d'apprentissage autodirigé à maîtriser avant la pratique réelle
Préparation à des études sérieuses
Apprenons par l'expérience directe
__Essayons différentes expériences pour comprendre le comportement du code.
L’habitude de lire des documents doit devenir un réflexe.
__Trouvons la vidéo de présentation et regardons-la.
__Il nous arrive aussi de participer à des rencontres et des conférences.
Acquérir de l'expérience et collaborer avec des ingénieurs seniors.
Vous pouvez également tirer des enseignements de vos projets personnels.
Posons-nous la bonne question
Résolvons le problème nous-mêmes.
__Fixons une limite de temps
Partagez les méthodes que vous avez essayées
Ne dérangez pas vos collègues
__Essayons la communication multicast asynchrone
__Envoyer toutes les requêtes synchrones en une seule fois
Surmonter les obstacles à la croissance
syndrome du masque
Effet Dunning-Kruger
Liste de contrôle essentielle pour les développeurs
Lecture pour progresser

Chapitre 3 Danser avec le code

〉 Notre approche du code hérité
L'entropie des logiciels tend à augmenter.
La dette technique est inévitable.
__Comment rembourser sa dette technique
Pour atténuer, même légèrement, la douleur causée par les modifications de code
__Utilisons l'algorithme de modification de code hérité
__Essayons de rendre le code plus propre qu'avant
Changeons-le progressivement.
__Faisons du refactoring de manière pragmatique
Utilisons __IDE
__Utilisons les techniques recommandées du système de contrôle de version.
Pour éviter les pièges dans lesquels il est facile de tomber en développement logiciel,
Utilisons autant que possible les technologies éprouvées.
S'il vous plaît, ne soyez pas un fauteur de troubles
__Il est interdit de créer un fork sans commits en amont
__Résistez à la tentation de réécrire le code
Liste de contrôle essentielle pour les développeurs
Lecture pour progresser

Chapitre 4 : Écriture de code en tenant compte de l’environnement d’exploitation

L’environnement de développement et l’environnement de production sont clairement différents.
Stratégies de programmation défensive pour la gestion des défaillances
Évitez d'utiliser des valeurs __null
__Utilisons des variables immuables
__Utilisons les annotations de type et la vérification statique des types
Vérifions la valeur d'entrée
Utilisons les exceptions
Définissons spécifiquement les exceptions
Lancez les exceptions tôt et gérez-les le plus tard possible.
__Réessayez judicieusement
Rendons le système idempotent
Libérons la ressource __
Méthodes de journalisation pour trouver la cause du problème
Utilisons le niveau __log
Écrivons les journaux de manière atomique.
Enregistrons rapidement le journal.
Ne pas enregistrer de données sensibles
Comment utiliser les métriques pour mesurer le comportement des applications
__Utilisons la bibliothèque d'indicateurs standard
__Mesurons tout
Le traçage est devenu de plus en plus important dans l'environnement distribué d'aujourd'hui.
Pour ajuster facilement le comportement d'exécution grâce aux paramètres :
Les décors trop créatifs sont interdits.
__Enregistrons et vérifions tous les paramètres.
__Fournissons des valeurs par défaut
__Regroupons les paramètres associés
Testons les paramètres ainsi que le code.
__Gardez vos fichiers de paramètres propres
__Ne modifiez pas les paramètres déployés
Parfois, les outils peuvent faire ou défaire une opération.
Liste de contrôle essentielle pour les développeurs
Lecture pour progresser

Chapitre 5 : Gérer les dépendances de code inévitables

La vérité sur la dépendance que l'on ne réalise qu'après avoir écrit un programme complexe.
Concepts essentiels pour comprendre la gestion des dépendances
__Version sémantique
Dépendance transitive
L'enfer de la dépendance que tous les professionnels du secteur ont connu au moins une fois.
Échappons-nous à l'enfer de la dépendance
Isolons la dépendance.
Ajoutez les dépendances avec précaution.
Corrigeons la __version
__Réduisons le champ d'application de la dépendance
Attention aux dépendances circulaires
Liste de contrôle essentielle pour les développeurs
Lecture pour progresser

Chapitre 6 : Les tests ! Un atout majeur pour les développeurs

〉 Une méthode de test qui vérifie le fonctionnement du système tout en réduisant la charge de travail.
Dois-je vraiment passer ce test ?
Types et techniques de test
Divers outils de test
Bibliothèque de moqueries
Cadre de test
Outils d'assurance qualité du code
Laissons les développeurs écrire leurs propres tests
__Écrivons des tests propres
__Évitez les tests excessifs
Déterminisme des tests : Produire systématiquement les mêmes résultats de test
__Utilisons une valeur de départ appropriée pour le générateur de nombres aléatoires.
Vous ne devez pas appeler des systèmes distants depuis les tests unitaires.
Injectons une horloge __
Évitez d'utiliser les fonctions sleep et timeout.
__Fermer les sockets réseau et les descripteurs de fichiers
Lions-nous au port __0
__Créer des chemins d'accès uniques pour les fichiers et les bases de données
__Isoler et libérer l'état du test précédent
Ne vous fiez pas à l'ordre d'exécution des tests.
Liste de contrôle essentielle pour les développeurs
Lecture pour progresser

Chapitre 7 : Révision du code : Donner et recevoir correctement

〉Visant une collaboration d'équipe fluide et une qualité de code élevée
Pourquoi la revue de code est-elle nécessaire ?
Comment obtenir une revue de code appropriée
Que faut-il préparer pour une revue de code ?
__La révision d'un brouillon peut réduire les risques
Il est interdit de soumettre des avis sur les essais.
Lorsqu'il y a de nombreuses modifications de code, c'est plus détaillé.
Ne soyez pas trop obsédé par votre propre code
Faites preuve d'empathie, mais ne tolérez pas l'impolitesse.
Prenons l'initiative
Comment réaliser une revue de code correcte
Examinons les demandes d'évaluation
Prenons le temps de faire un bilan.
__Comprendre les modifications du code
__Fournissons un retour d'information complet
Reconnaissons les points positifs
__Faisons une distinction claire entre les problèmes, les suggestions et les défauts mineurs.
Les avis aléatoires sont interdits.
Ne vous fiez pas uniquement aux outils d'évaluation en ligne.
N'oubliez pas non plus la révision du test.
Nous devons bien arriver à une conclusion d'une manière ou d'une autre.
Liste de contrôle essentielle pour les développeurs
Lecture pour progresser

Chapitre 8 : Livrer des logiciels aux clients !

〉 La destination finale des logiciels qui s'intégreront finalement à l'environnement de production
Les quatre étapes de la livraison de logiciels
Stratégies de branchement pour un contrôle de version efficace
Construire les étapes
__Spécifions la version dans le package
__Emballons chaque ressource séparément
Phase de libération
Ne considérez pas la sortie comme l'affaire de quelqu'un d'autre.
__Publiez le package dans le dépôt de versions
__Rendons la version immuable
__Sortons souvent
__Partageons le calendrier de publication en toute transparence.
__Publions les journaux de modifications et les notes de version
Phase de distribution
__Automatisons la distribution
__Effectuons la distribution de manière atomique
Déployons l'application indépendamment
Phase de déploiement
__Surveillons le déploiement
Utilisons le drapeau __feature
Protégez votre code avec des disjoncteurs.
__Mettons à jour la version du service en parallèle
__Lancez-vous en mode sombre
Liste de contrôle essentielle pour les développeurs
Lecture pour progresser

Chapitre 9 Intervention d'urgence Travail de garde

〉 Procédures et mesures pour répondre aux obstacles qui peuvent survenir à tout moment
Service d'astreinte pour répondre aux situations d'urgence.
Compétences d'astreinte indispensables
Soyez toujours prêt à répondre à tout moment.
Ne baissez pas votre garde et restez concentré.
__Priorisons notre travail
__Communiquons clairement
__Suivez l'avancement de votre travail
Cinq étapes pour gérer le handicap
__Sélection
__réglage
__atténuation
__résoudre
Mesures de suivi
Le travail de soutien est également strictement du travail sur appel.
N'essaie pas d'être un héros
Liste de contrôle essentielle pour les développeurs
Lecture pour progresser

Chapitre 10 : Processus de conception technique pour un logiciel robuste

〉 Techniques de conception et de documentation logicielles adaptées aux changements à grande échelle
Procédure de conception technique en forme de cône
Concevoir la technologie adéquate
Définissons le problème
__Examinons la solution
Essayons différentes expériences
__Investissons-y suffisamment de temps
Comment créer des documents de conception pour la communication
__Documentons les changements importants.
__Comprenez pourquoi vous rédigez un document de conception
Apprenons à écrire
__Maintenez vos documents de conception à jour
Structure de base d'un modèle de document de conception
__contour
État actuel et contexte
__Raison du changement
__Exigences
__solutions à envisager
__La solution que vous souhaitez adopter
__Design et architecture
Plan de test
Plan de déploiement
__Affaires en cours
__supplément
La collaboration est importante même pendant le processus de conception.
Comprendre le processus de revue de conception de l'équipe __
Évitons de créer des situations soudaines
Faisons un brainstorming et discutons de la conception.
Participons à la conception
Liste de contrôle essentielle pour les développeurs
Lecture pour progresser

Chapitre 11 : Mise en œuvre d’une architecture évolutive prenant en compte le cycle de vie du logiciel

〉 Principes fondamentaux pour la création de logiciels évolutifs et en constante croissance
Comprendre la complexité
Principes de conception pour les architectures évolutives
Principe YAGNI : Si ce n'est pas immédiatement nécessaire, ne le mettez pas en œuvre.
Principe du moindre impact : Ne surprenez pas vos utilisateurs.
Les connaissances du domaine doivent être encapsulées
Principes de conception pour les API évolutives
__Réduisez la taille de l'API
__Exposez une API de service bien définie
__Maintenir la compatibilité avec les modifications de l'API
__Gérons la version de l'API
Principes de conception pour les données évolutives
__Isoler la base de données
Utilisons le schéma __
__Automatisons la migration de schéma
__Maintenir la compatibilité du schéma
Liste de contrôle essentielle pour les développeurs
Lecture pour progresser

Chapitre 12 : Une culture agile pour une collaboration efficace

L'agilité, tout le monde la connaît mais elle n'est pas facile à mettre en pratique
Manifeste Agile
Cadre de méthodologie agile
Méthode de développement agile utilisant Scrum
__Histoire de l'utilisateur
__tâche
__Point clé de l'histoire
Classification des arriérés
Planification du sprint
Réunions debout pour un partage de travail rapide
Avis qui exigent des commentaires honnêtes
Rétrospective pour réévaluation et ajustement
Établir une feuille de route pour la planification à moyen et long terme
Liste de contrôle essentielle pour les développeurs
Lecture pour progresser

Chapitre 13 : Travailler avec les gestionnaires, les chefs d’équipe et les superviseurs

〉 D'un seul esprit et d'un seul but, vers un objectif commun
Que font les managers ?
Établissons des procédures pour une performance et une évaluation réussies.
Réunion individuelle
Réunion PPP
OKR
Évaluation des performances
Même votre chef d'équipe ou votre supérieur hiérarchique a besoin de votre encadrement.
Si le chef d'équipe ne donne pas suffisamment de retours, demandez-en activement.
Le chef d'équipe souhaite également recevoir vos commentaires.
__Discutons ouvertement de vos objectifs avec votre chef d'équipe.
Si vous avez tout essayé et que cela ne fonctionne toujours pas
Liste de contrôle essentielle pour les développeurs
Lecture pour progresser

Chapitre 14 Conseils en matière de gestion de carrière

〉 Plus tôt vous commencerez à gérer votre carrière, mieux ce sera.
Ingénieur principal, et vers les hauteurs
Conseils de carrière
Devenez une personne en forme de T
Participez à divers programmes destinés aux développeurs
Si vous voulez obtenir une promotion, faites ceci
Changez de travail avec précaution
Attention au burn-out
En conclusion

Image détaillée
Image détaillée 1

Dans le livre
Le meilleur moyen d'obtenir la bonne réponse sur Internet n'est pas de poser une question, mais de publier une mauvaise réponse.
- Loi de Cunningham
--- p.37

Le code ne ment jamais.
Mais parfois, ces commentaires sont faux.
- Ron Jeffries
--- p.49

La dette technique peut être un signe de succès.
Cela signifie aussi que le projet a survécu suffisamment longtemps pour devenir chaotique.

--- p.71

La plupart des ingénieurs ont tendance à sous-estimer l'importance des règles et à surestimer l'avantage de les ignorer.

--- p.82

Il ne faut envisager la réécriture du code que lorsque les avantages l'emportent sur les coûts.

--- p.89

Les ingénieurs s'attendent toujours à ce que la réécriture du code prenne peu de temps.

--- p.89

Les exceptions ne doivent servir qu'à gérer les défaillances, et non à contrôler la logique de l'application.

--- p.101

Lorsqu'un programmeur expérimenté découvre un nouveau code source, la première chose qu'il lit pour comprendre le code est le code de test.

--- p.153

Les revues de code ne servent pas à prouver votre intelligence, ni à stigmatiser les autres comme des obstacles bureaucratiques.

--- p.182

Savoir écrire clairement vous facilite la vie.

--- p.271

Le moyen le plus simple de garder votre code concis est de ne pas tout écrire d'un coup.

--- p.291

Le meilleur moyen de conserver la flexibilité de votre code est de réduire au maximum la quantité de code.

--- p.293

Les ingénieurs juniors mettent en œuvre les fonctionnalités et accomplissent les tâches, tandis que les ingénieurs seniors traitent principalement de l'incertitude et de l'ambiguïté.

--- p.362

Les changements fréquents d'emploi vous empêchent de voir les conséquences de vos décisions sur le long terme, ce qui nuit à votre capacité à développer l'intuition nécessaire à un ingénieur senior.

--- p.369

Si votre valeur se révèle dans vos réalisations passées plutôt que dans vos responsabilités actuelles, cela peut freiner votre développement.

--- p.370

Une seule nuit de privation de sommeil peut réduire la qualité du sommeil de près de 50 %.

--- p.371

Votre carrière est un marathon, pas un sprint.
--- p.371

Avis de l'éditeur
| Ce que ce livre aborde |

- Que se passe-t-il lorsque vous intégrez une entreprise et commencez à travailler ?
- Comment gérer et prévenir la dette technique, écrire et déployer des logiciels en toute sécurité et gérer les dépendances.
- Comment obtenir un code plus propre qu'auparavant grâce à un algorithme de modification de code hérité.
- Comment écrire du code qui prend en compte l'environnement d'exploitation grâce à la journalisation, aux métriques, à la configuration et à la programmation défensive.
- Comment créer des tests déterministes, effectuer des revues de code et évaluer le code d'autres programmeurs
- Comment examiner et tester le code avec d'autres développeurs et collaborer efficacement avec ses collègues, les chefs d'équipe et ses supérieurs.
- Étapes générales du processus de conception technique, y compris l'expérimentation et la définition du problème, la documentation et la collaboration.
- Comment gérer les pannes survenant dans l'environnement de production lors d'interventions d'urgence sur appel.
- Comment faciliter les modifications de code en appliquant des techniques architecturales
- Comment utiliser les méthodologies agiles telles que la planification des sprints, les réunions quotidiennes et les rétrospectives.
- Gestion de carrière et compétences interpersonnelles, notamment comment accéder naturellement à un poste de cadre supérieur ou plus élevé

| Public cible de ce livre |

Tous les développeurs travaillant dans des organisations informatiques ou en tant qu'ingénieurs logiciels, y compris les demandeurs d'emploi, les jeunes diplômés, les nouvelles recrues, les personnes en reconversion professionnelle et les développeurs expérimentés.
Et les postes au sein des organisations non liées au développement qui doivent comprendre les développeurs

| Structure de ce livre |

Quiconque souhaite atteindre sa destination a besoin d'une carte.
Ce livre couvre tout ce dont vous avez besoin pour démarrer votre carrière.
Nous commençons par le niveau « débutant », celui par lequel tous les nouveaux développeurs débutent.
Ensuite, vous passez à la phase de « tempête et de stress » où vous commencez à coder et à apprendre les règles et les procédures.
Ensuite, vous passez à l'étape de « Contributeur de confiance », où vous publiez des fonctionnalités importantes.
Lancer une nouvelle fonctionnalité implique de naviguer sur les vagues tumultueuses de « l'océan des opérations ».
Finalement, vous atterrirez dans un paradis sûr appelé « Pays des Capables ».
Vous développerez les compétences d'un ingénieur logiciel à part entière, capable de fournir en continu des fonctionnalités précieuses tout en collaborant au sein d'une équipe.
Ce livre a pour but de vous aider à entreprendre un long voyage en solitaire.

| Note de l'auteur |

Vous avez maintenant un nouveau travail : développeur, où vous pouvez résoudre des problèmes complexes, écrire du code de haute qualité et utiliser ce que vous créez vous-même.
Quelle merveilleuse chose ! Félicitations.
J'ai hâte de relever des défis intéressants et de créer des choses utiles avec des collègues formidables, intelligents et passionnés.

Mais vous vous rendrez vite compte, ou peut-être le savez-vous déjà, que la programmation (l'utilisation d'ordinateurs pour résoudre des problèmes) n'est pas tout.
Bien que la programmation soit l'une des compétences les plus importantes pour devenir un ingénieur logiciel efficace, il est également nécessaire d'acquérir d'autres compétences qui ne sont jamais enseignées à l'école.
Ce livre peut vous aider à acquérir de telles compétences.

Ce livre présente les pratiques modernes de mise en œuvre, de test et d'exploitation des logiciels de production.
Il explique également les comportements et les méthodes permettant de constituer des équipes performantes et de meilleurs coéquipiers.
Nous vous donnerons des conseils pratiques sur la manière d'obtenir de l'aide, de rédiger des documents de conception, de gérer le code existant, de gérer les urgences, de créer des plans de travail et de communiquer avec votre responsable et votre équipe.

Bien sûr, ce livre ne couvre pas tout ce que vous devez savoir.
Non seulement c'est impossible, mais même si tout était inclus, ce serait fastidieux à lire.
Nous nous concentrons plutôt sur la transmission des informations les plus importantes qui ne sont généralement pas abordées dans les cours de premier cycle en informatique.
Ces sujets étant très approfondis, nous avons ajouté une section « Pour aller plus loin » à la fin de chaque chapitre, proposant des ressources complémentaires recommandées si vous souhaitez obtenir plus d'informations.

Les premiers chapitres expliquent ce à quoi vous pouvez vous attendre lorsque vous débutez votre carrière de développeur dans une entreprise.
La partie centrale aborde ensuite le contenu technique, en présentant l'écriture de code de qualité adapté aux environnements de production, les tests efficaces, les revues de code, l'intégration et la livraison continues, la documentation de conception et les techniques architecturales recommandées.
Les trois derniers chapitres portent sur les compétences relationnelles, telles que la planification agile, la collaboration avec les managers et les conseils en matière de gestion de carrière.

Ce livre s'appuie sur notre expérience de constitution d'équipes au sein de plusieurs entreprises non cotées de la Silicon Valley qui ont connu une croissance rapide grâce à des investissements en capital-risque.
Votre situation personnelle peut différer de ce qui est abordé dans ce livre, et c'est tout à fait normal.
Bien que les détails puissent varier d'une entreprise à l'autre, les principes de base restent sensiblement les mêmes.

J'aurais aimé que nous ayons eu ce livre lorsque nous avons débuté notre carrière comme nouvelles recrues.
J'ai en fait décidé d'offrir ce livre en cadeau à un nouvel ingénieur qui rejoint notre équipe.
À la fin de ce livre, vous saurez ce qu'il faut pour devenir un ingénieur logiciel professionnel.


| Note du traducteur |

Une chose que j'ai apprise en travaillant comme ingénieur logiciel dans des entreprises de nombreux pays, dont la Corée, l'Australie, les États-Unis et le Canada, c'est que construire une bonne culture d'ingénierie est difficile, quelles que soient la langue ou la culture.
En réalité, la définition d'une bonne culture d'ingénierie logicielle n'est pas très précise.

Néanmoins, grâce à des recherches, des efforts et un développement continus, ce domaine a progressivement affiné la définition d'une bonne culture d'ingénierie logicielle.
Et voici le livre qui présente cette culture qui s'est ainsi concrétisée.
Étant né et ayant grandi en Corée, où j'ai travaillé comme ingénieur logiciel, j'estime que le contenu présenté dans ce livre diffère encore sensiblement de la culture actuelle du génie logiciel dans les entreprises nationales.
Je pense que ce n'est pas seulement un problème au sein de l'équipe d'ingénierie, mais plutôt un problème qui découle d'une différence dans la mentalité globale de l'entreprise.

J'ai vécu à l'étranger pendant une dizaine d'années et j'ai récemment passé un peu plus d'un an à travailler comme ingénieur logiciel principal dans une entreprise coréenne.
La culture d'équipe d'ingénierie que j'ai mise en place durant cette période est globalement conforme à ce qui est présenté dans ce livre.
J'aurais souhaité que ce livre soit publié un peu plus tôt et mis entre les mains de mes collègues, mais je me demande si cela n'aurait pas facilité la mise en place de la culture que je souhaitais.

Parce qu'il est quasiment impossible de construire une bonne culture d'ingénierie par les seuls efforts individuels.
Peu importe les efforts déployés par un dirigeant ayant bénéficié d'une culture d'entreprise positive pour en créer une, cela reste inutile si ses collègues ne la comprennent pas et ne la respectent pas.
Peu importe les efforts déployés par un collègue ayant bénéficié d'une culture d'entreprise positive pour en créer une, cela reste inutile si le dirigeant ne soutient pas ses intentions.
Peut-être que ceux d'entre vous qui lisent ce livre ont vécu des expériences similaires.

C’est pourquoi ce livre est fortement recommandé non seulement aux nouveaux ingénieurs qui font leurs premiers pas dans le domaine du génie logiciel, mais aussi aux ingénieurs seniors, aux responsables d’ingénierie et même aux directeurs techniques – à tous ceux qui souhaitent promouvoir au sein de leurs équipes une culture d’ingénierie qui favorise une communication efficace, le respect mutuel et la collaboration pour atteindre les objectifs.
De plus, si l'ensemble du département d'ingénierie s'efforce d'adopter la culture présentée dans cet ouvrage, son impact et son efficacité n'en seront que plus importants.

Je suis maintenant prêt à me lancer un nouveau défi, à atteindre un objectif différent, dans un nouvel endroit.
Je suis convaincu que ce livre me sera, ainsi qu'à vous, un excellent guide et une précieuse source de conseils à l'avenir.
SPÉCIFICATIONS DES PRODUITS
- Date d'émission : 31 mai 2023
Nombre de pages, poids, dimensions : 376 pages | 550 g | 152 × 224 × 18 mm
- ISBN13 : 9791189909529
- ISBN10 : 1189909529

Vous aimerez peut-être aussi

카테고리