# Introduction

Ce livre est un support de cours à l'[Ecole Nationale Supérieure de Cognitique](http://www.ensc.fr).

![](/files/-LDB8rPmp2_hlLGuXP4o)

## Résumé

Ce livre constitue une introduction au **génie logiciel**. Il présente les grands enjeux et les bonnes pratiques liés à l'activité de réalisation de logiciels :

* Notion d'architecture logicielle.
* Principes de conception.
* Patrons logiciels.
* Production du code source.
* Gestion des versions.
* Travail collaboratif.
* Tests.
* Documentation.

> Le point de vue adopté par ce livre est essentiellement technique. Les aspects organisationnels (gestion de projet) et méthodologiques ne sont pas étudiés ici.

## Compléments

Un projet écrit en langage C# et utilisant la technologie WinForms illustre certaines notions d'architecture et de test présentées dans ce livre. Son code source est [disponible en ligne](https://github.com/bpesquet/winforms-architecture-patterns).

> Au besoin, consultez les livres [Programmation orientée objet en C#](https://www.gitbook.com/book/bpesquet/programmation-orientee-objet-csharp/) et [Programmation évènementielle avec les WinForms](https://www.gitbook.com/book/bpesquet/programmation-evenementielle-winforms/) pour pouvoir étudier ce projet.

## Contributions

Ce livre est publié sous la licence Creative Commons [BY-NC-SA](http://creativecommons.org/licenses/by-nc-sa/4.0/). Son code source est disponible sur [GitHub](https://github.com/bpesquet/genie-logiciel). N'hésitez pas à contribuer à son amélioration en utilisant les *issues* pour signaler des erreurs et les *pull requests* pour proposer des ajouts ou des corrections.

[![Licence Creative Commons](https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png)](http://creativecommons.org/licenses/by-nc-sa/4.0/)

Merci d'avance et bonne lecture !


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ensc.gitbook.io/genie-logiciel/master.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
