C/C++, Python, Java, structures de données, UML, Git.
Le langage C (Dennis Ritchie, Bell Labs 1972) reste incontournable pour la programmation système et embarquée. Normalisé ISO C11 (2011) et C18 (2018).
| Type | Taille (32 bits) | Usage |
|---|---|---|
| char | 1 octet | Caractère ASCII |
| int | 4 octets | Entier signé |
| uint8_t / uint16_t / uint32_t | 1/2/4 octets | Embarqué — taille fixe (stdint.h) |
| float | 4 octets | Virgule flottante IEEE 754 |
| double | 8 octets | Précision double |
Un pointeur stocke l'adresse mémoire d'une variable. Indispensable pour l'accès aux registres de microcontrôleur.
uint32_t valeur = 42;
uint32_t *ptr = &valeur; // ptr contient l'adresse de valeur
*ptr = 100; // valeur vaut maintenant 100
// Accès registre GPIO STM32
#define GPIOA_ODR (*((volatile uint32_t *)0x40020014))
GPIOA_ODR = 0xFF; // Écriture directe registreC++ (Bjarne Stroustrup, 1985) ajoute la Programmation Orientée Objet au C. Standard actuel : C++20 (ISO/IEC 14882:2020).
class Capteur {
private:
float valeur;
std::string nom;
public:
Capteur(std::string n) : nom(n), valeur(0.0) {}
void setValeur(float v) { valeur = v; }
float getValeur() const { return valeur; }
virtual void afficher() {
std::cout << nom << " : " << valeur << std::endl;
}
};
class Thermometre : public Capteur {
public:
Thermometre(std::string n) : Capteur(n) {}
void afficher() override { /* surcharge */ }
};Python 3.12 (PSF — Python Software Foundation) est le langage le plus utilisé en 2024 (indice TIOBE #1). Applications BTS SN : scripting réseau (Paramiko, Netmiko), traitement données, IA/ML (Keras, PyTorch), automatisation (Ansible, Salt).
| Structure | Python | Complexité accès |
|---|---|---|
| Liste | list [] | O(1) par index |
| Dictionnaire | dict {} | O(1) moyen (hash) |
| Ensemble | set {} | O(1) moyen |
| Tuple | tuple () | O(1) — immuable |
| File FIFO | collections.deque | O(1) déqueue |
from netmiko import ConnectHandler
switch = {
'device_type': 'cisco_ios',
'host': '192.168.1.1',
'username': 'admin',
'password': 'secret'
}
with ConnectHandler(**switch) as net_connect:
output = net_connect.send_command('show ip interface brief')
print(output)Java (James Gosling, Sun Microsystems, 1995) suit le principe Write Once Run Anywhere via la JVM. Version LTS actuelle : Java 21 (OpenJDK). Usage BTS SN : développement serveur, Android (Kotlin/Java), services web REST (Spring Boot).
UML 2.5.1 (OMG 2017) est le standard de modélisation logicielle. Les 3 diagrammes les plus utilisés en BTS SN :
Représente les interactions acteurs ↔ système. Acteurs : rectangles (humains) ou icônes bonhomme. Cas d'utilisation : ellipses. Relations : include (obligatoire), extend (optionnel), généralisation.
Représente la structure statique. Classes avec attributs + méthodes. Relations : association (1..n), composition (agrégation forte), héritage (flèche creuse), réalisation d'interface.
Représente les interactions temporelles entre objets. Lignes de vie verticales + messages horizontaux (synchrones/asynchrones). Utilisé pour documenter les API REST, les flux IoT.
Git (Linus Torvalds, 2005) est le système de contrôle de version distribué standard. Hébergeurs : GitHub, GitLab (auto-hébergeable), Bitbucket.
| Commande | Rôle |
|---|---|
| git init / git clone | Initialiser ou cloner un dépôt |
| git add / git commit | Indexer et committer |
| git push / git pull | Envoyer/récupérer depuis remote |
| git branch / git checkout | Créer/changer de branche |
| git merge / git rebase | Fusionner des branches |
| git log / git diff | Historique et différences |
main = code stable livrabledev = intégrationfeature/xxx = développements en coursgit push --force sur main partagé (écrase l'historique d'équipe)git pull avant git push pour éviter les conflitsInscrivez-vous pour accéder aux 5 autres leçons + le quiz final.
Créer mon compteChoisis quels cookies tu acceptes — modifiable à tout moment.